`OpenCV`中`cv2.imshow`和`cv2.imwri
2020-07-03 本文已影响0人
一只大南瓜
原文https://www.jianshu.com/p/cad76e90757e
简述
本节将针对使用OpenCV
中cv2.imshow
和cv2.imwrite
结果不一致问题进行小结
问题复现过程
#图片路径
sta = './Sketch/o5MuJ5T0Z0uQLT-z883VQsmx1bSA/15438410304182994.jpg'
#使用模型
net = cv2.dnn.readNetFromTorch('models/eccv16/composition_vii.t7')
image = cv2.imread(sta)
image = imutils.resize(image, width=600)
(h, w) = image.shape[:2]
blob = cv2.dnn.blobFromImage(image, 1.0, (w, h),
(103.939, 116.779, 123.680), swapRB=False, crop=False)
net.setInput(blob)
output = net.forward()
output = output.reshape((3, output.shape[2], output.shape[3]))
output[0] += 103.939
output[1] += 116.779
output[2] += 123.680
output /= 255.0
output = output.transpose(1, 2, 0)
#窗体显示
cv2.imshow("output", output)
cv2.waitKey(0)
#保存本地
cv2.imwrite('output.png', output)
![](https://img.haomeiwen.com/i855786/e89a99b6ac2c01cc.png)
![](https://img.haomeiwen.com/i855786/137a1e7216967797.png)
![](https://img.haomeiwen.com/i855786/de5ba21418eb819d.png)
解决过程
1、测试图片进行常规操作imshow
、imwrite
是否有区别,测试发现无明显区别
2、检索是否有类似问题,是否两方法实现原理不同,后与stackoverflow
发现有类似问题
stackoverflow.com相关链接:cv2.imshow and cv2.imwrite
![](https://img.haomeiwen.com/i855786/ab1ae2264237abcb.png)
测试修改对比
#图片路径
sta = './Sketch/o5MuJ5T0Z0uQLT-z883VQsmx1bSA/15438410304182994.jpg'
#使用模型
net = cv2.dnn.readNetFromTorch('models/eccv16/composition_vii.t7')
image = cv2.imread(sta)
image = imutils.resize(image, width=600)
(h, w) = image.shape[:2]
blob = cv2.dnn.blobFromImage(image, 1.0, (w, h),
(103.939, 116.779, 123.680), swapRB=False, crop=False)
net.setInput(blob)
output = net.forward()
output = output.reshape((3, output.shape[2], output.shape[3]))
output[0] += 103.939
output[1] += 116.779
output[2] += 123.680
# 由于imshow、imwrite两个函数的范围期望不同,使用imshow需除以255,imwrite则不需要
# output /= 255.0
output = output.transpose(1, 2, 0)
#窗体显示
cv2.imshow("output", output)
cv2.waitKey(0)
#保存本地
cv2.imwrite('output.png', output)
![](https://img.haomeiwen.com/i855786/b52c42e8418cdc7c.png)
![](https://img.haomeiwen.com/i855786/e401ebaa79b6045f.png)
作者:_过桥
链接:https://www.jianshu.com/p/cad76e90757e
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。