马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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)
修补后的图片已经没有田螺了,变成了背景,这样我们就可以将我们不想要的物体从图片中删除,如图:
|