opencv 膨張腐食

 

OpenCV はオープン ソースのコンピューター ビジョン ライブラリであり、多くの画像処理関数が含まれています。その中で、膨張と腐食は一般的に使用される 2 つの形態学的操作です。
膨張: 膨張操作は、画像内のハイライトされた領域 (白いピクセル) を拡大して、暗い領域 (黒いピクセル) を塗りつぶします。これは、画像内のノイズを除去したり、隣接するオブジェクトを接続したりするために使用できます。OpenCV では、`cv2.dilate()` 関数を使用して拡張操作を実行できます。
侵食: 侵食操作は拡張操作の逆で、画像内のハイライト領域 (白いピクセル) を縮小し、小さなハイライト領域を除去します。これは、画像内のノイズを除去したり、隣接するオブジェクトを分離したりするために使用できます。OpenCV では、「cv2.erode()」関数を使用して侵食操作を実行できます。
以下は、膨張操作と腐食操作に OpenCV を使用した Python コード例です。
```python
import cv2
import numpy as np
# 画像を読み取ります
image = cv2.imread('input.jpg', 0)
# 構造要素を定義します (畳み込みkernel)
kernel = np.ones((5, 5), np.uint8)
# 侵食操作
erosion = cv2.erode(image, kernel, iterations=1)
# 拡張操作
dilation = cv2.dilate(image, kernel, iterations= 1)
# 結果を表示
cv2.imshow('Original', image)
cv2.imshow('Erosion', erosion)
cv2.imshow('Dilation', dilation)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
この例では、最初に画像を読み取り、次に 5x5 構造要素を定義します。 (コンボリューションカーネル)が得られます。次に、`cv2.erode()` 関数と `cv2.dilate()` 関数を使用して、それぞれ収縮操作​​と拡張操作を実行します。最後に、元の画像と処理された画像を示します。

膨張と収縮は、OpenCV で一般的に使用される 2 つの画像処理操作です。以下に Python コードの例をいくつか示します。
1. 必要なライブラリをインポートします:
```python
import cv2
import numpy as np
```
2. イメージを読み取ります:
```python
image = cv2.imread('input.jpg', 0)
```
3. 作成します1 つのカーネル:
```python
kernel = np.ones((5, 5), np.uint8) ``
`
4. エロージョン操作:
```python
erosion = cv2.erode(image, kernel, iterations= 1)
cv2 .imshow('Erosion', erosion)
```
5. 拡張操作:
```python
dilation = cv2.dilate(image, kernel, iterations=1)
cv2.imshow('Dilation', dilation)
`` `
6.元のイメージを表示します:
````python
cv2.imshow('Original Image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
これらのコード例は、OpenCV を使用して侵食および拡張操作を行う方法を示しています。必要に応じてカーネルのサイズと反復回数を調整して、さまざまな効果を得ることができます。

おすすめ

転載: blog.csdn.net/qq_42751978/article/details/130823170