2022.02.27このページではPython-openCVを使って以下の画像のように、指定した画像を平滑化処理する方法をご紹介していきます。平滑化と言われると何のことかわかりにくいと思いますが、要はぼかし処理ですね。処理方法を解説するだけではなく、処理の中で各ピクセルのRGB値がどのように変化しているのか、という点まで確認していこうと思います。それではさっそくやっていきましょう。※今回はPython上でOpenCVというライブラリを使用していきます。インストールしていない人は、まずはインストール作業から始めましょう。画像を平滑化(blur)処理する方法blur処理の内容を確認してみるおわりに画像を平滑化(blur)処理する方法それではさっそくですが、以下が冒頭に紹介したような処理を実行してくれるサンプルコードです。※処理したい画像がプログラム実行フォルダにsample.jpgという名前で保存されていることを前提に書いています。cv2file_name='sample.jpg'blur_size=(30,30)img=cv2.imread(file_name,cv2.IMREAD_COLOR)img=cv2.blur(img,blur_size)cv2.imwrite('sample2.jpg',img)こいつを実行すると、以下のベース画像(sample.jpg)がこんな感じで出力されます。(sample2.jpg)基本的には先ほどのコードのblur_sizeが画像のぼかし度を決めている部分になります。この値を大きくするほどぼかし度が大きくなります。スポンサーリンクblur処理の内容を確認してみる次は先ほど実行した平滑化処理ではどのようなことが行われているのかを確認してみましょう。それを確認するコードは以下の通りです。file.write('\n')file.close()このコードでなにをやっているかと言うと、適当なサンプル画像の左上の縦横10ピクセル分のB値(RGBの青の度合い)を平滑化処理前後で出力しているだけです。※先ほどのコードと違い、(3×3)ピクセルで平滑化処理をしています。この処理を実行すると以下の2つのテキストファイルが出力されています。(左が平滑化前のデータ、右が平滑化後のデータです。)これが平滑化前後での画像の左上10ピクセル分のB値データです。平滑化前後でこの数値がどのように変化しているのかを確認してみます。以下の赤で囲った枠の中の数値に着目してみましょう。右側の赤枠中心にある121という数値は、左側の同じ場所+周囲の8つの数値の平均値になっていることがわかると思います。これこそがまさに平滑化(Blur)処理で実施している処理内容です。隣の場所も確認してみましょう。同じように処理されていることがわかると思います。今回はRGBのB値のみで確認していますが、この処理が他の色(R値、G値)にも同様に適用されています。これで平滑化処理ではどのようなことが行われているのかがイメージできたのではないでしょうか。スポンサーリンクおわりにというわけで今回はpython-openCVを使って、指定画像を平滑化(blur)処理する方法をご紹介しました。ノイズ除去の際などにぜひご活用ください。仕事中で時間がないかもしれませんが、ぜひ通勤時間中などに他の記事も読んでいただけると嬉しいです。⇒興味をもった方は【ヒガサラ】で検索してみてください。確実にスキルアップできるはずです。最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。コピーヒガシをフォローするスポンサーリンクヒガシヒガサラblogスポンサーリンクpython【python-openCV】カラー画像における指定位置の色を判定する方法!この記事ではpython&openCVを使って、カラー画像内における指定してピクセル位置での色を12色相環の中から判定するサンプルプログラムをご紹介します。イメージ図を紹介すると以下のような感じです...python【python-openCV】背景画像に別の画像を合成する方法!この記事では、python-openCVを使って、2枚の画像の合成画像を作成する方法をご紹介しています。処理の流れを画像を用いて詳細解説!python【python】ベクトルの内積、外積を計算する方法!3次元ベクトルで実演!このページでは、Python上でベクトルの内積、外積を計算する方法をご紹介していきます。ベクトルの内積の計算方法からおさらいしておきましょう。...python【python】データの積算配列を作成する方法!np.cumsumについて!この記事では、【pythonの配列データから、その配列の各データを積算した配列の作り方】をご紹介します。やりかただけをご紹介しても味気ないので、今回は以下のグラフような【あるお店の時間あたりの来客数データ】か...python【python-matplotlib】複数グラフをFor文で一括作成!配列も自由に変更可!こんにちは、ヒガシです。このページではpython-matplotlibを使って、以下のように複数のグラフを整列させて一括作成する方法をご紹介していきます。事前にデータさえ準備...python【python】桁数をそろえた連番を作成する方法!フォルダ作成を例に実演!この記事では、桁数を揃えた連番を作成できるzfillスキルの使い方を解説しています。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。ご指摘ありがとうございます。修正させていただきましました。【python-openCV】背景画像に別の画像を合成する方法!やぎ2023.05.29こんにちは。書く必要があると思います。【python-openCV】背景画像に別の画像を合成する方法!サトシ2023.05.11承知しました。アドバイス本当にありがとうございます。【VBA】大量のファイル名変更!指定したフォルダ内を一括操作!ヒガシ2023.05.11/はフォルダの階層が変わることを意味しますので使えません。substitute関数などを使って別文字に変換してから実行すると良いと思います。【VBA】大量のファイル名変更!指定したフォルダ内を一括操作!サトシ2023.05.10何度もすみません。/を使うと出来ないみたいです。2001-001-1/4とかにしたいのですが、ファイルが見つかりませんとかパスが無効ですとなります。検索タイトルとURLをコピーしました。