Python と OpenCV で,画像のノイズ除去を行う
処理前
![]() |
![]() |
処理後
![]() |
![]() |
処理前
![]() |
![]() |
処理後
![]() |
![]() |
【サイト内の OpenCV 関連ページ】
【OpenCV の公式情報】
【サイト内の関連ページ】
【関連する外部ページ】
Python の公式ページ: https://www.python.org/
Python で OpenCV を動かすためのもの.
OpenCV Python のインストールは:別ページ »で説明1~2 コマンドの実行でインストールできる.
https://github.com/opencv/opencv/tree/master/samples/data で公開されている fruits.jpg, home.jpg を使用する(謝辞:画像の作者に感謝します)
次のコマンドを実行.
cd %LOCALAPPDATA% curl -L https://github.com/opencv/opencv/blob/master/samples/data/fruits.jpg?raw=true -o fruits.jpg curl -O https://raw.githubusercontent.com/opencv/opencv/master/samples/data/home.jpg
次のコマンドを実行.
sudo mkdir -p /usr/local/image cd /usr/local/image sudo chown -R $USER . curl -L https://github.com/opencv/opencv/blob/master/samples/data/fruits.jpg?raw=true -o fruits.jpg curl -O https://raw.githubusercontent.com/opencv/opencv/master/samples/data/home.jpg
Python プログラムを実行する
import os import cv2 IMROOT=os.environ['LOCALAPPDATA'] + '/' bgr = cv2.imread(IMROOT + "fruits.jpg") cv2.imshow("bgr", bgr) dst = cv2.cv2.fastNlMeansDenoisingColored(bgr, None, 30, 10, 7) cv2.imshow("dst", dst) cv2.waitKey(0) cv2.destroyAllWindows()
画像が表示されるので確認. このあと,ウインドウの右上の「x」をクリックしない.画面の中をクリックしてから,何かのキーを押して閉じる
import os import cv2 IMROOT=os.environ['LOCALAPPDATA'] + '/' bgr = cv2.imread(IMROOT + "home.jpg") cv2.imshow("bgr", bgr) dst = cv2.cv2.fastNlMeansDenoisingColored(bgr, None, 30, 10, 7) cv2.imshow("dst", dst) cv2.waitKey(0) cv2.destroyAllWindows()
画像が表示されるので確認. このあと,ウインドウの右上の「x」をクリックしない.画面の中をクリックしてから,何かのキーを押して閉じる
Python プログラムを実行する
import os import cv2 IMROOT=os.environ['LOCALAPPDATA'] + '/' bgr = cv2.imread(IMROOT + "fruits.jpg") mono = cv2.cvtColor(bgr, cv2.COLOR_BGR2GRAY) cv2.imshow("mono", mono) dst = cv2.fastNlMeansDenoising(mono, None, 30, 10, 7) cv2.imshow("dst", dst) cv2.waitKey(0) cv2.destroyAllWindows()
画像が表示されるので確認. このあと,ウインドウの右上の「x」をクリックしない.画面の中をクリックしてから,何かのキーを押して閉じる
import os import cv2 IMROOT=os.environ['LOCALAPPDATA'] + '/' bgr = cv2.imread(IMROOT + "home.jpg") mono = cv2.cvtColor(bgr, cv2.COLOR_BGR2GRAY) cv2.imshow("mono", mono) dst = cv2.fastNlMeansDenoising(mono, None, 30, 10, 7) cv2.imshow("dst", dst) cv2.waitKey(0) cv2.destroyAllWindows()
画像が表示されるので確認. このあと,ウインドウの右上の「x」をクリックしない.画面の中をクリックしてから,何かのキーを押して閉じる
濃淡画像には、「cv2.fastNlMeansDenoising」を使う. カラー画像に対しては,「cv2.fastNlMeansDenoisingColored」を使う. ビデオの場合には 「cv2.fastNlMeansDenoisingMulti」を使う.