中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

opencv如何獲取輪廓內所有像素

小億
200
2024-05-29 10:40:45
欄目: 編程語言

要獲取輪廓內所有像素,可以通過使用`cv2.findContours()`函數找到輪廓,然后使用`cv2.drawContours()`函數將輪廓繪制在一副空白圖像上,最后使用numpy的`np.where()`函數獲取輪廓內的像素坐標。

以下是一個示例代碼:

```python

import cv2

import numpy as np

# 讀取圖像

image = cv2.imread('input.jpg')

gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# 二值化

ret, thresh = cv2.threshold(gray, 127, 255, 0)

# 尋找輪廓

contours, _ = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

# 創建一副空白圖像

blank_image = np.zeros_like(image)

# 繪制輪廓

cv2.drawContours(blank_image, contours, -1, (255, 255, 255), -1)

# 獲取輪廓內所有像素坐標

pixels = np.where(blank_image == 255)

# 打印輪廓內的像素坐標

for i in range(len(pixels[0])):

x = pixels[0][i]

y = pixels[1][i]

print(f'Pixel at ({x}, {y}): {image[x, y]}')

# 顯示結果

cv2.imshow('Contours', blank_image)

cv2.waitKey(0)

cv2.destroyAllWindows()

```

這段代碼首先讀取一幅圖像,然后找到圖像中的輪廓,繪制輪廓在一副空白圖像上,并通過`np.where()`函數獲取輪廓內的像素坐標。最后打印出輪廓內的像素坐標,并顯示繪制有輪廓的圖像。

0
涪陵区| 化州市| 汨罗市| 娄烦县| 寿阳县| 石阡县| 焦作市| 鄂尔多斯市| 凤山市| 溆浦县| 吉林市| 隆昌县| 大洼县| 小金县| 鄂尔多斯市| 中方县| 吴忠市| 阜平县| 克山县| 青田县| 泗洪县| 武宁县| 芜湖县| 明溪县| 安徽省| 清苑县| 洛隆县| 河池市| 那坡县| 福安市| 唐海县| 鹤庆县| 泸溪县| 阳原县| 昭通市| 新泰市| 高平市| 廉江市| 密云县| 永丰县| 桂阳县|