如何解决修改ROI,然后使用python
我是Python和OpenCV的新手。我的任务是对图像的投资回报率执行一些操作,然后将该图像添加回原始图像。我怎样才能做到这一点?例如,我要更改ROI图像的颜色,然后将其重新添加。我的代码如下:
for (i,c) in enumerate(contours_from_left_to_right):
cv2.drawContours(duplicate_img,[c],-1,(0,255),3)
cent_moment = cv2.moments(c)
centroid_x = int(cent_moment['m10'] / cent_moment['m00'])
centroid_y = int(cent_moment['m01'] / cent_moment['m00'])
cv2.putText(duplicate_img,str(i+1),(centroid_x,centroid_y),cv2.FONT_HERSHEY_SIMPLEX,1,255,0),2)
cv2.imshow('Contours from Left to Right',duplicate_img)
cv2.waitKey(0)
(x,y,w,h) = cv2.boundingRect(c)
print("Top-Left Corner=",(x,y),"width= ","height =",h)
ROI = roi_img[y:y+h,x:x+w]
cv2.imwrite("ROI_{}.png".format(image_number),ROI)
image_number += 1
解决方法
选择投资回报率时,您将拥有(x,y)。在ROI图像上完成图像处理后,您可以保存图像并使用枕头按照ROI的坐标将roi图像粘贴回原始图像。
from PIL import Image,ImageDraw,ImageFilter
#test
im1 = Image.open(args["image"]) #Original Image
im2 = Image.open("ROI.tif") #ROI Image after process
back_im = im1.copy()
back_im.paste(im2,(ROIRegion[region][0][0],ROIRegion[region][0][1])) #(x,Y) coordinate
back_im.save('replace.tif',quality=95) #save image
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。