从documantation来看,我们可以通过CV窗口保持图像的比例,但是在我调整它之后窗口仍然丢失了纵横比。有人愿意帮忙吗?在
示例代码:
import cv2
# load the image, clone it, and setup the mouse callback function
image = cv2.imread('1.jpg')
cv2.namedWindow('image', cv2.WINDOW_KEEPRATIO)
# keep looping until the 'q' key is pressed
while True:
# display the image and wait for a keypress
cv2.imshow('image', image)
key = cv2.waitKey()
if key == 27:
break
# close all open windows
cv2.destroyAllWindows()
您是要约束窗口还是图像?不能约束窗口大小,只能约束图像大小。在
请注意,在^{} 的文档中,它在底部显示
所以设置
cv2.WINDOW_KEEPRATIO
不会影响比率缩放(因为默认情况下它不影响比率)。在我想你想要完成的是能够移动窗口的大小,从而影响你显示的图像大小。对吗?如果是这样的话,OpenCV是不可能实现的,至少不是内置的。图像窗口只是显示图像的容器,因此它们根本不会影响图像。当然,您可以在使用
cv2.resize()
显示之前调整图像大小。在编辑:好的,所以我甚至不确定上面的内容是否是你想要的,但是我说用当前的OpenCV无法调整窗口的大小。事实上,这是有可能的。你可以创建一个轨迹条,它将在你的图像上放置一个滑块。然后当您移动滑块时,它将调用一个函数,该函数以滑块的位置为参数定义。然后你可以取这个位置,把它转换成一个介于0和1之间的数字,然后把你的图像大小乘以这个数字得到一个更小的图像大小。然后你可以按这个比例调整图像的大小,并在窗口中重新显示。我很确定这对你需要的东西来说太过分了,但它很有趣,所以我决定试试。在
可能是显示问题本身。说默认情况下,显示窗口很大。在上面的片段中,我没有看到对纵横比的任何更改。检查here
相关问题 更多 >
编程相关推荐