PythonのOpenCVの画像平均フィルタリング、ガウシアンフィルタやメディアンフィルタ

まず、実験の目的

マスター 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のは、オープンソース、より便利です。だけでなく、ネットワークと私は、彼らが必要なものを見つけることができ、インターネット上で、社会の進歩を促進し、あなたは自分のマシンビジョンを学ぶために行くことができます。マシンビジョンの短いより深い理解に。

おすすめ

転載: www.cnblogs.com/sunblingbling/p/12596051.html