python - img[y:y+h, x:x+w] 坐标系的工作原理
问题描述
对于这两种情况,我都有相同的图像(200x200)。我正在实现模板匹配,所以想法是使用此代码的矩形区域,如模板:
image = cv.imread('some-image.tif', 0)
cv.rectangle(image,(150, 50),(200,100),(255,0,0),2)
plt.imshow(image, 'gray')
plt.title('With rectangle')
plt.show()
但是当我在模板匹配代码中运行以下行时,矩形与上面的代码不一样:
template = image[50:100, 150:200]
为什么我没有得到相同的投资回报率?我知道表格是[y:y+h, x:x+w]
解决方案
我认为您的行image = cv.imread(image, 0)
语法不正确。您需要在 cv.imread()` 中使用实际的 filename.suffix
你的命令在 Python/OpenCV 3 中对我来说很好用
输入:
import cv2
import numpy as np
img = cv2.imread('zelda1.jpg')
cv2.rectangle(img,(150, 50),(200,100),(255,0,0),1)
roi = img[50:100, 150:200]
cv2.imwrite('zelda1_rect.jpg', img)
cv2.imwrite('zelda1_roi.jpg', roi)
cv2.imshow("img", img)
cv2.imshow("roi", roi)
cv2.waitKey(0)
带矩形的图像:
投资回报率:
推荐阅读
- java - 如何将多个地图放在一起
> 不覆盖集合 - flutter - 如何解决“令牌检索失败:SERVICE_NOT_AVAILABLE”这个问题?
- javascript - 谷歌地图仅在 Chrome 浏览器中获取“initMap 不是函数”
- oracle - 需要帮助解决 ORA-12154
- c# - 在 FluentAssertions.Primitives.ObjectAssertions 的扩展方法中调用 Excluding 方法不起作用,但调用它正常工作
- nginx - 如何为 NGINX 负载均衡器设置异常
- reactjs - 'ButtonToolbar' 未定义 react/jsx-no-undef
- python-3.x - Python 3,TypeError '>' ,从 2.7 到 3 的转换
- c# - Xamarin Forms 的振动量
- c# - 现有连接被远程主机强行关闭