|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 alltolove 于 2018-11-22 15:56 编辑
- import cv2
- import numpy as np
- img=cv2.imread('a.jpg',1)
- imgInfo=img.shape
- height=imgInfo[0]
- width=imgInfo[1]
- for i in range(283,307):
- for j in range(665,683):
- img[i,j]=(0,0,0)
- cv2.imwrite('b.jpg',img)
- cv2.imshow('a',img)
- cv2.waitKey(0)
复制代码
以上代码是我把鱼鳍的部分抠下去一块,然后我们来用opencv把它修补上:
- paint=np.zeros((height,width,1),np.uint8)
- for i in range(283,307):
- for j in range(665,683):
- paint[i,j]=255
- img_dst=cv2.inpaint(img,paint,3,cv2.INPAINT_TELEA)
- cv2.imshow('b',img_dst)
- cv2.waitKey(0)
复制代码
修补后的图片:
opencv只提供了简单的修补图片的功能,用卷积神经网络可以让修改后的图片跟原图一模一样。我们还可以把图片中的一个物体去掉然后修补成背景,代码如下:
- import cv2
- import numpy as np
- img=cv2.imread('a.jpg',1)
- imgInfo=img.shape
- height=imgInfo[0]
- width=imgInfo[1]
- for i in range(62,90):
- for j in range(644,673):
- img[i,j]=(0,0,0)
- cv2.imwrite('c.jpg',img)
- cv2.imshow('a',img)
- cv2.waitKey(0)
复制代码
以上代码是把田螺去掉了,然后我们再修补一下:
- paint=np.zeros((height,width,1),np.uint8)
- for i in range(62,90):
- for j in range(644,673):
- paint[i,j]=255
- img_dst=cv2.inpaint(img,paint,3,cv2.INPAINT_TELEA)
- cv2.imshow('b',img_dst)
- cv2.waitKey(0)
复制代码
修补后的图片已经没有田螺了,变成了背景,这样我们就可以将我们不想要的物体从图片中删除,如图:
|
|