Sim*_*ity 6 python matplotlib surf
在回答这个问题时,我想以原始颜色显示图像,因此gray从这行代码中删除了参数:
plt.imshow(im_out, 'gray')
Run Code Online (Sandbox Code Playgroud)
然而,当这样做时,我得到的图像显示为黄色和紫色,而不是图像的原始颜色。
我该怎么做才能以原始颜色显示图像?
谢谢。
编辑 1我遇到了这个教程,似乎我应该使用:
plt.imshow(cv2.cvtColor(im_out, cv2.COLOR_BGR2RGB))
Run Code Online (Sandbox Code Playgroud)
然而,当我这样做时,我得到了以下结果:
Calculated scale difference: 0.99
Calculated rotation difference: 44.51
OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cvtColor, file /home/user/opencv/modules/imgproc/src/color.cpp, line 10606
Traceback (most recent call last):
File "align_surf.py", line 47, in <module>
deskew()
File "align_surf.py", line 9, in deskew
plt.imshow(cv2.cvtColor(im_out, cv2.COLOR_BGR2RGB))
cv2.error: /home/user/opencv/modules/imgproc/src/color.cpp:10606: error: (-215) scn == 3 || scn == 4 in function cvtColor
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
编辑2上面的原因是图像在原始代码中的读取方式如下:
orig_image = cv2.imread('1.jpg', 0)
Run Code Online (Sandbox Code Playgroud)
所以,我干脆删除了0.
根据本教程,为了解决该问题,我必须转换BGR为RGB,如下所示:
plt.imshow(cv2.cvtColor(im_out, cv2.COLOR_BGR2RGB))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8706 次 |
| 最近记录: |