python - img [y:y + h,x:x + w]坐标系的工作方式

标签 python image opencv

对于这两种情况,我都有相同的图像(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中对我来说工作正常
输入:
enter image description here

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)

矩形图片:
enter image description here
投资返回率:
enter image description here

关于python - img [y:y + h,x:x + w]坐标系的工作方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62766229/

相关文章:

python - 如何使用 setuptools/distutils 触发后期构建

jquery - 图像的 anchor href 是否使其下载?

python - 如何从文档中删除所有肖像图片

c++ - 使用动态分配的数据初始化 cv::Mat

c++ - OpenCV - 缺少调试 DLL 库

python - 基于 python 证书的身份验证中的 REST 请求,在 SOAPUI 中工作

python - 变形文件上传用无效的 pstruct : not a FieldStorage instance 覆盖我的错误消息

android - picasso 图像缓存

opencv - Open CV 中用于轮廓估计的 Canny Edge 与阈值

python - UnicodeEncodeError : 'ascii' codec can't encode character u'\xef' in position 0: ordinal not in range(128)