gpt4 book ai didi

image - ROI以比原始图片更浅的颜色书写

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

我试图在图片上找到一个对象(这里是PWB)。
首先,我通过找到最大轮廓来做到这一点。然后,我只想将此对象重写为一张新图片,以便将来可以处理较小的图片。
但是问题是,当我重写此ROI时,图片的颜色比原始图片的颜色要浅。

CODE:

Original = cv2.imread(picture_location)
image = cv2.imread(mask_location)
img = cv2.medianBlur(image,29)
imgray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
dst = cv2.bitwise_and(Original, image)
roi = cv2.add(dst, Original)
ret,thresh = cv2.threshold(imgray,127,255,0)
im2, contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
area = 0
max_x = 0
max_y = 0
min_x = Original.shape[1]
min_y = Original.shape[0]
for i in contours:
new_area = cv2.contourArea(i)
if new_area > area:
area = new_area
cnt = i
x,y,w,h = cv2.boundingRect(cnt)
min_x = min(x, min_x)
min_y = min(y, min_y)
max_x = max(x+w, max_x)
max_y = max(y+h, max_y)
roi = roi[min_y-10:max_y+10, min_x-10:max_x+10]
Original = cv2.rectangle(Original,(x-10,y-10),(x+w+10,y+h+10),(0,255,0),2)

#Writing down the images
cv2.imwrite('Pictures/PCB1/LocatedPCB.jpg', roi)
cv2.imwrite('Pictures/PCB1/LocatedPCBContour.jpg',Original)

由于我没有10个声誉,因此无法发布图片。但是,我可以提供链接:

原始
http://imgur.com/a/UY736
景点区域
http://imgur.com/a/UY736

主要问题是如何获得软件以与原始图片完全相同的颜色写下ROI?
但是,我是一名机电工程师,所以我对此并不陌生,如果可能的话,我对编写代码的方式的评论也将不胜感激。

最佳答案

问题是您首先让roi = cv2.add(dst, Original)
,最后从此处的变亮图片中剪切出来:

roi = roi[min_y-10:max_y+10, min_x-10:max_x+10]

如果要裁剪原始图像,则应执行以下操作:
roi = Original[min_y-10:max_y+10, min_x-10:max_x+10]

关于image - ROI以比原始图片更浅的颜色书写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42625100/

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