gpt4 book ai didi

图像预处理 : contour expansion

转载 作者:行者123 更新时间:2023-12-02 17:19:12 25 4
gpt4 key购买 nike

我想做一些图像预处理,但有一个步骤我不确定最好的方法。
我有带有注释的有趣区域的 MRI 图像,我检测轮廓并裁剪图像:
enter image description here
我将在此处发布我的代码,以便您了解我如何完成前面的步骤以及我们拥有的数据

lower_orange = np.array([0, 80, 50],np.uint8)
upper_orange = np.array([255, 255, 255],np.uint8)

for frame in frames:

cv2.imshow('Original frame',frame)
cv2.waitKey(0)

hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
contour = cv2.inRange(hsv, lower_orange, upper_orange)

x,y,w,h = cv2.boundingRect(contour)

mask_inv = cv2.bitwise_not(contour)
frame = cv2.bitwise_and(hsv,hsv,mask = mask_inv)

cv2.imshow('Contoured frame',frame)
cv2.waitKey(0)

croped = frame[y:y+h,x:x+w]

resized = cv2.resize(croped,(240,240))

gray = resized[:,:,2]

cv2.imshow('Grayscale frame',gray)
cv2.waitKey(0)

feature.append(gray)
我现在要做的是将轮廓外的所有内容涂黑:
enter image description here
您知道使用 OpenCV 执行此操作的任何本地方法吗?或者任何算法或非本地方式来实现这一点?
非常感谢你

最佳答案

Yunus Temuerlenkl在评论中告诉我。

此方法的精度取决于轮廓掩码的精度 .
尽管它是一种迭代方法,但对我来说并没有增加太多的处理时间。你可以做的一件事是并行处理您的图像/帧 .

for idx, frame in enumerate(frames):

hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
contour = cv2.inRange(hsv, lower_orange, upper_orange)

x,y,w,h = cv2.boundingRect(contour)

croped_img = frame[y:y+h,x:x+w]
croped_mask = contour[y:y+h,x:x+w]

resized_gray_img = cv2.resize(croped_img,(dim,dim))[:,:,2]
resized_mask = cv2.resize(croped_mask,(dim,dim))

for row in range(dim):
i = 0
is_contour = False

while((i < dim) & (not is_contour)):
if(resized_mask[row,i]):
is_contour = True
resized_gray_img[row,i] = 0
i+=1

if not is_contour: continue
is_contour = False

i = dim -1

while((i >= 0) & (not is_contour)):
if(resized_mask[row,i]):
is_contour = True
resized_gray_img[row,i] = 0
i-=1

mask_inv = cv2.bitwise_not(resized_mask)
img = cv2.bitwise_and(resized_gray_img,resized_gray_img,mask = mask_inv)

feature.append(img)

关于图像预处理 : contour expansion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63087068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com