关于如何凸显一组图片的局部图像问题

问题描述

在这里插入图片描述

解决方法

用框凸显优势区域
在这里插入图片描述

代码

import cv2 as cv
import matplotlib.pyplot as plt
import numpy as np
import osif __name__ == '__main__':num = 'b'img1Path = f'./images/{num}1.png'img2Path = f'./images/{num}2.png'img3Path = f'./images/{num}3.png'img4Path = f'./images/{num}4.png'img1 = cv.imread(img1Path)img2 = cv.imread(img2Path)img3 = cv.imread(img3Path)img4 = cv.imread(img4Path)x = 450y = 400size = 250subImg1 = img1[x:x+size, y:y+size, :]subImg2 = img2[x:x+size, y:y+size, :]subImg3 = img3[x:x+size, y:y+size, :]subImg4 = img4[x:x+size, y:y+size, :]temp1 = np.ones_like(subImg1[:, :, 0])temp1[5:-5, 5:-5] = 0img1[x:x + size, y:y + size, 0] = np.where(temp1 > 0, temp1 * 255, img1[x:x + size, y:y + size, 0])img1[x:x + size, y:y + size, 1] = np.where(temp1 > 0, 0, img1[x:x + size, y:y + size, 1])img1[x:x + size, y:y + size, 2] = np.where(temp1 > 0, 0, img1[x:x + size, y:y + size, 2])temp2 = np.ones_like(subImg2[:, :, 0])temp2[5:-5, 5:-5] = 0img2[x:x + size, y:y + size, 0] = np.where(temp2 > 0, temp2 * 255, img2[x:x + size, y:y + size, 0])img2[x:x + size, y:y + size, 1] = np.where(temp2 > 0, 0, img2[x:x + size, y:y + size, 1])img2[x:x + size, y:y + size, 2] = np.where(temp2 > 0, 0, img2[x:x + size, y:y + size, 2])temp3 = np.ones_like(subImg3[:, :, 0])temp3[5:-5, 5:-5] = 0img3[x:x + size, y:y + size, 0] = np.where(temp3 > 0, temp3 * 255, img3[x:x + size, y:y + size, 0])img3[x:x + size, y:y + size, 1] = np.where(temp3 > 0, 0, img3[x:x + size, y:y + size, 1])img3[x:x + size, y:y + size, 2] = np.where(temp3 > 0, 0, img3[x:x + size, y:y + size, 2])temp4 = np.ones_like(subImg4[:, :, 0])temp4[5:-5, 5:-5] = 0img4[x:x + size, y:y + size, 0] = np.where(temp4 > 0, temp4 * 255, img4[x:x + size, y:y + size, 0])img4[x:x + size, y:y + size, 1] = np.where(temp4 > 0, 0, img4[x:x + size, y:y + size, 1])img4[x:x + size, y:y + size, 2] = np.where(temp4 > 0, 0, img4[x:x + size, y:y + size, 2])plt.subplot(141)plt.imshow(img1)plt.subplot(142)plt.imshow(img2)plt.subplot(143)plt.imshow(img3)plt.subplot(144)plt.imshow(img4)plt.show()outRoot = 'results'if not os.path.exists(outRoot):os.mkdir(outRoot)cv.imwrite(f'./results/{num}1.png', img1)cv.imwrite(f'./results/{num}2.png', img2)cv.imwrite(f'./results/{num}3.png', img3)cv.imwrite(f'./results/{num}4.png', img4)


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部