python-openCv画像処理
2966 ワード
一、OpenCvの紹介
OpenCVはBSDベースのライセンスですLinux、Windows、Android、Mac OSオペレーティングシステムで実行可能なプラットフォーム間コンピュータビジュアルライブラリ.軽量レベルで効率的.一連のC関数と少量のC++クラスで構成され、Python、Ruby、MATLABなどの言語のインタフェースを提供し、画像処理とコンピュータビジュアルに関する多くの汎用アルゴリズムを実現した.
OpenCv公式サイトhttps://opencv.org/
二、OpenCvはpythonで使用する
1、導入:import cv 2
2、画像を読み取る:cv 2.imread
パラメータ1:画像のファイル名現在のフォルダの下に画像を置く場合、直接ファイル名を書けばいい、例えば'lena.jpg'でなければ絶対パスを与える必要があります.例えば、'D:OpenCVSampleslena.jpg′パラメータ2:読み込み方式、省略はデフォルト値cv 2を採用する.IMREAD_COLOR:カラー図、デフォルト値(1)cv 2.IMREAD_GRAYSCALE:階調図(0)cv 2.IMREAD_UNCHANGED:透明チャネルを含むカラーマップ(-1)
3、展示画像:cv 2.imshow('title', img)
4、写真を保存する:cv 2.imwrite(path,img)#pathパスの下に画像を保存
5、閾値分割:例は以下の通り
6、画像の拡大・縮小:例は以下の通り
7、画像の回転:例は以下の通り
三、上記のような画像の処理方法を望んで、私と同じ初心者に参考にすることができます.
OpenCVはBSDベースのライセンスですLinux、Windows、Android、Mac OSオペレーティングシステムで実行可能なプラットフォーム間コンピュータビジュアルライブラリ.軽量レベルで効率的.一連のC関数と少量のC++クラスで構成され、Python、Ruby、MATLABなどの言語のインタフェースを提供し、画像処理とコンピュータビジュアルに関する多くの汎用アルゴリズムを実現した.
OpenCv公式サイトhttps://opencv.org/
二、OpenCvはpythonで使用する
1、導入:import cv 2
2、画像を読み取る:cv 2.imread
パラメータ1:画像のファイル名現在のフォルダの下に画像を置く場合、直接ファイル名を書けばいい、例えば'lena.jpg'でなければ絶対パスを与える必要があります.例えば、'D:OpenCVSampleslena.jpg′パラメータ2:読み込み方式、省略はデフォルト値cv 2を採用する.IMREAD_COLOR:カラー図、デフォルト値(1)cv 2.IMREAD_GRAYSCALE:階調図(0)cv 2.IMREAD_UNCHANGED:透明チャネルを含むカラーマップ(-1)
3、展示画像:cv 2.imshow('title', img)
4、写真を保存する:cv 2.imwrite(path,img)#pathパスの下に画像を保存
5、閾値分割:例は以下の通り
def do_threshold(self,img):
#◦ 1: ( )
#◦ 2: , 255
#◦ 3: ◦ADAPTIVE_THRESH_MEAN_C:
# ◦ADAPTIVE_THRESH_GAUSSIAN_C: ,
#◦ 4: ( 5 )cv2.THRESH_BINARY( )、
# cv2.THRESH_BINARY_INV、
# cv2.THRESH_TRUNC、
# cv2.THRESH_TOZERO、
# cv2.THRESH_TOZERO_INV
#◦ 5: , 11 11*11
#◦ 6:
#image_mean=cv2.adaptiveThreshold(img, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 35, 4)
#cv2.imshow("image_mean", image_mean) #
#cv2.waitKey(0)
#blur = cv2.GaussianBlur(img, (5, 5), 0)
image_gaussian=cv2.adaptiveThreshold(img, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 35, 4)
cv2.imshow("image_gaussian", image_gaussian) #
cv2.waitKey(0)
cv2.imshow("image_gaussian", ~image_gaussian) #
cv2.waitKey(0)
# , Otsu
#blur = cv2.GaussianBlur(img, (5, 5), 0)
ret3, otsu = cv2.threshold(img, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
cv2.imshow("image_otsu", otsu) #
cv2.waitKey(0)
return image_gaussian
6、画像の拡大・縮小:例は以下の通り
def img_resize(self,img):
# , x,y
res = cv2.resize(img, None, fx=2, fy=2, interpolation=cv2.INTER_LINEAR)
cv2.imshow("image_resize", res) #
cv2.waitKey(0)
return res
7、画像の回転:例は以下の通り
#
# :img
# :du ( : , : )
# :
def xuanZHuan_img(self,img,du,resize):
# 、
rows, cols = img.shape
#
#◦ 1:
#◦ 2: ( : , : )
#◦ 3: ,0.5
M = cv2.getRotationMatrix2D((cols / 2, rows / 2), du, resize)
#
dst = cv2.warpAffine(img, M, (cols, rows))
cv2.imshow('rotation', dst)
cv2.waitKey(0)
三、上記のような画像の処理方法を望んで、私と同じ初心者に参考にすることができます.