20行のコードはpythonを使って証明書の写真を下の色に換える方法の例を教えます。
1.画像ソース
この写真は百度の写真から来ています。著作権を侵害したら削除してください。写真は知識の交流だけに使います。
2.画像を読み込み、表示する imread():画像の読み取り; imshow():展示画像; waitkey():ウィンドウをセットして待って、もし設定しないならば、ウィンドウはさっと通り過ぎます。
3.画像の拡大縮小
resize():画像のスケーリングでは、fxとfyはスケーリング率を表し、0.5は以前の半分にスケーリングされます。
4.画像をグレースケールに変換する
三色写真はRGBの三つのカラーチャンネルがあり、腐食と膨張の操作ができません。これはカラー画像をhsv階調画像に変換した後、腐食と膨張の操作を行う必要があります。
cv 2.cvtColor(img,cv 2.COLOR_)BGR 2 HSV)は、カラー画像をhsv階調画像に変換することができる。
5.画像を二値化する
二値化処理は、画像を白黒画像に変換するためである。二値化は1が男性、2が女性を表すのと似ていますが、画像の処理に対しても最小値と最大値をカスタマイズしたいです。ここではそれぞれパワーを使います。blueとuper_ブルー表示 lower_blue=np.array([90,70,70]) up_blue=np.array([110,255,255]) inRange(hsv、lower_)ブルー、uper_blue)画像を二値化する。
短所:私達は第三章の写真を見ていますが、黒い領域には時々ノイズ(白点)が発生します。ここでは明らかではないかもしれません。一部の写真は明らかに示しています。これは私達が腐食や膨張を行う必要があります。
6.イメージの腐食と膨張
上の画像を二値化した後、いくつかのノイズが発生しました。腐食や膨張で画像の処理ができます。どの処理の効果がいいかを観察します。エロイド(mark,None,iteration=1)は腐食操作を行う。 dilate(erode,None,iterations=1)は膨張操作を行う。
上の図を見てください。この写真に対しては、腐食や膨張に関係なく、良好なノイズ除去操作が行われています。腐食後の画像を使ってもいいです。膨張した写真を使ってもいいです。
7.各ピクセルポイントを巡回して色を入れ替えます。
画像は各ピクセルポイントから構成されています。私たちは腐食した後、画像を得るための白い下地のピクセルポイントを探して、元の図の中の対応する位置のピクセルポイントを赤に変えます。
ここで20行のコードについてpythonを使って証明書の写真を下の色に変えていく方法例を教えます。この文章を紹介します。python証明書の写真を下の色に変えてください。以前の文章を検索したり、次の関連記事を見たりしてください。これからもよろしくお願いします。
この写真は百度の写真から来ています。著作権を侵害したら削除してください。写真は知識の交流だけに使います。
2.画像を読み込み、表示する
import cv2
import numpy as np
#
img=cv2.imread('girl.jpg')
#
cv2.imshow('img',img)
# ,0
cv2.waitKey(0)
効果は以下の通りです3.画像の拡大縮小
resize():画像のスケーリングでは、fxとfyはスケーリング率を表し、0.5は以前の半分にスケーリングされます。
import cv2
import numpy as np
#
img=cv2.imread('girl.jpg')
#
img = cv2.resize(img,None,fx=0.5,fy=0.5)
rows,cols,channels = img.shape
print(rows,cols,channels)
#
cv2.imshow('img',img)
# ,0
cv2.waitKey(0)
結果は以下の通りです4.画像をグレースケールに変換する
三色写真はRGBの三つのカラーチャンネルがあり、腐食と膨張の操作ができません。これはカラー画像をhsv階調画像に変換した後、腐食と膨張の操作を行う必要があります。
cv 2.cvtColor(img,cv 2.COLOR_)BGR 2 HSV)は、カラー画像をhsv階調画像に変換することができる。
import cv2
import numpy as np
#
img=cv2.imread('girl.jpg')
#
img = cv2.resize(img,None,fx=0.5,fy=0.5)
rows,cols,channels = img.shape
print(rows,cols,channels)
cv2.imshow('img',img)
#
hsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
#
cv2.imshow('hsv',hsv)
# ,0
cv2.waitKey(0)
結果は以下の通りです5.画像を二値化する
二値化処理は、画像を白黒画像に変換するためである。二値化は1が男性、2が女性を表すのと似ていますが、画像の処理に対しても最小値と最大値をカスタマイズしたいです。ここではそれぞれパワーを使います。blueとuper_ブルー表示
import cv2
import numpy as np
#
img=cv2.imread('girl.jpg')
#
img = cv2.resize(img,None,fx=0.5,fy=0.5)
rows,cols,channels = img.shape
print(rows,cols,channels)
cv2.imshow('img',img)
#
hsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
cv2.imshow('hsv',hsv)
#
lower_blue = np.array([90,70,70])
upper_blue = np.array([110,255,255])
mask = cv2.inRange(hsv, lower_blue, upper_blue)
#
cv2.imshow('mask',mask)
# ,0
cv2.waitKey(0)
結果は以下の通りです短所:私達は第三章の写真を見ていますが、黒い領域には時々ノイズ(白点)が発生します。ここでは明らかではないかもしれません。一部の写真は明らかに示しています。これは私達が腐食や膨張を行う必要があります。
6.イメージの腐食と膨張
上の画像を二値化した後、いくつかのノイズが発生しました。腐食や膨張で画像の処理ができます。どの処理の効果がいいかを観察します。
import cv2
import numpy as np
#
img=cv2.imread('girl.jpg')
#
img = cv2.resize(img,None,fx=0.5,fy=0.5)
rows,cols,channels = img.shape
print(rows,cols,channels)
cv2.imshow('img',img)
#
hsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
cv2.imshow('hsv',hsv)
#
lower_blue=np.array([90,70,70])
upper_blue=np.array([110,255,255])
mask = cv2.inRange(hsv, lower_blue, upper_blue)
#
erode=cv2.erode(mask,None,iterations=1)
cv2.imshow('erode',erode)
dilate=cv2.dilate(erode,None,iterations=1)
cv2.imshow('dilate',dilate)
# ,0
cv2.waitKey(0)
結果は以下の通りです上の図を見てください。この写真に対しては、腐食や膨張に関係なく、良好なノイズ除去操作が行われています。腐食後の画像を使ってもいいです。膨張した写真を使ってもいいです。
7.各ピクセルポイントを巡回して色を入れ替えます。
画像は各ピクセルポイントから構成されています。私たちは腐食した後、画像を得るための白い下地のピクセルポイントを探して、元の図の中の対応する位置のピクセルポイントを赤に変えます。
import cv2
import numpy as np
#
img=cv2.imread('girl.jpg')
#
img = cv2.resize(img,None,fx=0.5,fy=0.5)
rows,cols,channels = img.shape
print(rows,cols,channels)
cv2.imshow('img',img)
#
hsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
cv2.imshow('hsv',hsv)
#
lower_blue=np.array([90,70,70])
upper_blue=np.array([110,255,255])
mask = cv2.inRange(hsv, lower_blue, upper_blue)
#
erode=cv2.erode(mask,None,iterations=1)
cv2.imshow('erode',erode)
dilate=cv2.dilate(erode,None,iterations=1)
cv2.imshow('dilate',dilate)
#
for i in range(rows):
for j in range(cols):
if erode[i,j]==255: # 255 , ,
img[i,j]=(0,0,255) # , BGR , RGB
cv2.imshow('res',img)
# ,0
cv2.waitKey(0)
効果は以下の通りですここで20行のコードについてpythonを使って証明書の写真を下の色に変えていく方法例を教えます。この文章を紹介します。python証明書の写真を下の色に変えてください。以前の文章を検索したり、次の関連記事を見たりしてください。これからもよろしくお願いします。