まず、実験の目的
マスター OpenCVのどの平均フィルタリング画像、メディアンフィルタやガウスフィルタ。
第二に、実験の内容
1.タイトル説明
画像 test.png 平均フィルタ画像、ガウシアンフィルタリングおよびメジアンフィルタリング、エッジ検出、ならびにガウス、以下の通りであるtest.png 原画像。
結果を達成するために、次の必要性:
2.実装プロセス
次のようにコードは、Baiduの検索に分析するために、教師によって送信され、その後、分析しました:
インポートCV2 インポートnumpyのAS NP から PIL インポート画像、ImageDraw、ImageFont __author__ = " sunjingjing " #平均フィルタ DEF ブラー(出所): IMG = cv2.blurを(ソース、(10,10 )) cv2img = cv2.cvtColor(IMG、 cv2.COLOR_BGR2RGB)#1 CV2と進コードシーケンスPIL異なる色に格納されている pilimg = Image.fromarray(cv2img) 描画 = ImageDraw.Draw(pilimg)#1 印刷画像 フォント= ImageFont.truetype(" simhei.ttfは"、20であります、コード= " UTF-8")#パラメータ1:フォントファイルパス、二つのパラメータ:フォントサイズ draw.text((0、0)、" 平均値フィルタ」(255、0、0)、フォント=フォント)#パラメータ1:プリント座標、パラメータ2:テキスト、3つのパラメータ:フォントの色は、4つのパラメータ:フォント #PIL画像転写CV2画像 cv2charimg = cv2.cvtColor(np.array(pilimg)、cv2.COLOR_RGB2BGR) cv2.imshow(" ぼかし" 、cv2charimg) #の値フィルタリング DEF medianBlur(出典): IMG = cv2.medianBlur(出典,. 3 ) cv2img = cv2.cvtColor(IMG、cv2.COLOR_BGR2RGB)#1 CV2と進コードシーケンスPIL異なる色に格納されている pilimg = Image.fromarray(cv2img) 描きますImageDraw.Draw =(pilimg) #の印刷画像が フォント= ImageFont.truetype(" simhei.ttf "、20、コード= " UTF-8 ")#パラメータ1:フォントファイルへのパス、パラメータ2:フォントサイズ draw.text( (0、0)、" メディアンフィルタリング"(255、0、0)、フォント=フォント)#パラメータ1:プリント座標、パラメータ2:テキスト、パラメータ3:フォント色、パラメータ4:フォント #PIL画像転送CV2画像 cv2charimg = cv2.cvtColor(np.array(pilimg)、cv2.COLOR_RGB2BGR) cv2.imshow(" medianBlur " 、cv2charimg) #のブロックフィルタ DEF BoxFilter(出典): IMGCv2.boxFilter =(出典、-1、(5,5)、ノーマライズ= 1 ) cv2img = cv2.cvtColor(IMG、cv2.COLOR_BGR2RGB)#1 進コード異なる色の記憶順序とCV2のPIL pilimg = Image.fromarray (cv2img) 描画 = ImageDraw.Draw(pilimg)#1 印刷画像を フォント= ImageFont.truetype(" simhei.ttf "、20、コード= " UTF-8 ")#パラメータ1:フォントサイズ:フォントファイル、パラメータ2のパス draw.text((0、0)、" ブロックフィルタ"(255、0、0)、フォント=フォント)#パラメータ1:プリント座標、パラメータ2:テキスト、3つのパラメータ:フォントの色は、4つのパラメーター:フォント #PILの画像がCV2の絵を回す cv2charimg =cv2.cvtColor(np.array(pilimg)、cv2.COLOR_RGB2BGR) cv2.imshow(" boxFilter " 、cv2charimg) #ガウス DEF ガウスぼかし(出典): IMG = cv2.GaussianBlur(出典、(3,3 )、0) cv2img = cv2.cvtColor(IMG、cv2.COLOR_BGR2RGB)#1 CV2と進コードシーケンスPIL異なる色に格納されている pilimg = Image.fromarray(cv2img) 描画 = ImageDraw.Draw(pilimg)#1 印刷画像 フォント= ImageFont.truetype (「simhei.ttf 」、20 =コードである「UTF-8 」)#パラメータ1:フォントファイルパス、二つのパラメータ:フォントサイズ draw.text((0、0)、" ガウス"、(255、0、0)、フォント=フォント)#パラメータ1:プリント座標、パラメータ2:テキスト、3つのパラメータ:フォントの色は、4つのパラメータ:フォント #画像転送画像PIL CV2 cv2charimg = cv2.cvtColor(np.array(pilimg)、cv2.COLOR_RGB2BGR) cv2.imshow(" ガウスぼかし" 、cv2charimg) #ガウスエッジ検出 DEF ガウシアン(出典): sobelX = cv2.Sobel(ソース、 cv2.CV_64F、1,0) #勾配x方向の sobelY = cv2.Sobel(ソース、cv2.CV_64F、0,1)#1 傾斜方向Y sobelX = np.uint8(np.absolute(sobelX)) #x方向勾配の絶対値 = np.uint8 sobelY(np.absolute(sobelY)) #勾配のY方向の絶対値 IMG = cv2.bitwise_or(sobelX、sobelY) # cv2img = cv2.cvtColor(IMG、cv2.COLOR_BGR2RGB)#1 色でCV2とPIL異なる進コードシーケンス格納さ pilimg = Image.fromarray(cv2img) 描画 = ImageDraw.Draw(pilimg)#1 印刷画像 フォント= ImageFont.truetype(" simhei.ttf "、20コード、ある= " UTF-8 ")#パラメータ1:フォントファイルパス、二つのパラメータ:フォントサイズ draw.text((0、0)、" ガウスエッジ検出"、" 緑"、フォント=フォント)#パラメータ1:プリント座標、パラメータ2:テキスト、3つのパラメータ:フォントの色は、4つのパラメータ:フォント #PIL画像転写CV2画像 cv2charimg = cv2.cvtColor(np.array(pilimg)、cv2.COLOR_RGB2BGR) cv2.imshow(「ガウスぼかし"cv2charimg) IF __name__ == " __main__ " : #負荷の画像 IMG = cv2.imread(" test2.png " ) cv2.namedWindow(" 入力画像"cv2.WINDOW_AUTOSIZE) cv2.imshow(" 入力画像」、IMG ) ぼかし(IMG) medianBlur(IMG) ガウスぼかし(IMG) #ガウシアン(IMG) cv2.waitKey(0) cv2.destroyAllWindows()
3.ファイル名を指定して実行結果
4.問題と解決策
問題:中国の絵の上に書かれた方法はありません、中国は上の文字化けがあります
ソリューション:百度の検索では、中国は座標漢字は絵に固執するフォントと色を設定するには、書き込みを発見しました。すなわち、次のコード行であります
第三に、テストサマリー
この作品を通して、私が見つかりませんでした OpenCVのは本当に何ザビス、使いやすいザビスわずか数行のコードを、しかしでのpython またはCの言語行の多くを必要とするだろうが、OpenCVのは、オープンソース、より便利です。だけでなく、ネットワークと私は、彼らが必要なものを見つけることができ、インターネット上で、社会の進歩を促進し、あなたは自分のマシンビジョンを学ぶために行くことができます。マシンビジョンの短いより深い理解に。