擅长:python、mysql、java
<p>第一-你的图像是一个jpeg图像,这意味着周围的黑线将是不完美的,由于压缩伪影,一个简单的阈值或膨胀不会完全消除这些。你可以尝试保存在一个无损的格式和修改手工在油漆或东西清理,你甚至可能想执行这一步后,做了腐蚀和清理大部分。你知道吗</p>
<p>第二,为什么不使用<code>copyTo</code>函数用掩码复制,下面是一个示例:</p>
<pre><code>import cv2
img1 = cv2.imread('x2djw.jpg')
img2 = cv2.imread('5RnNh.jpg')
img2 = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)
thr, img1_mask = cv2.threshold(img1, 250, 255, cv2.THRESH_BINARY_INV)
img1_mask = img1_mask[:, :, 0] & img1_mask[:, :, 1] & img1_mask[:, :, 2]
el = cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3))
img1_mask = cv2.erode(img1_mask, el)
img2 = cv2.merge((img2, img2, img2))
img2 = cv2.copyTo(img1, img1_mask, img2)
cv2.imwrite('test_result.png', img2)
</code></pre>