小编gay*_*aya的帖子

将图像坐标系的原点更改为左下角而不是默认的左上角

有没有一种简单的方法可以将 OpenCV 的图像坐标系的原点更改为左下角?numpy例如使用?我正在使用 OpenCv 2.4.12 和 Python 2.7。

相关:Numpy 翻转坐标系,但这只是讨论显示。我想要一些我可以在我的算法中一致使用的东西。

更新:

def imread(*args, **kwargs):
    img = plt.imread(*args, **kwargs)
    img = np.flipud(img)
    return img      
#read reference image using cv2.imread
imref=cv2.imread('D:\\users\\gayathri\\all\\new\\CoilA\\Resized_Results\\coilA_1.png',-1)
cv2.circle(imref, (0,0),30,(0,0,255),2,8,0)
cv2.imshow('imref',imref)

#read the same image using imread function
im=imread('D:\\users\\gayathri\\all\\new\\CoilA\\Resized_Results\\coilA_1.png',-1)
img= im.copy()
cv2.circle(img, (0,0),30,(0,0,255),2,8,0)
cv2.imshow('img',img)
Run Code Online (Sandbox Code Playgroud)

使用 cv2.imread 读取图像: 原图

使用 imread 函数翻转的图像: 翻转

正如所见,圆是在原始图像和翻转图像的左上角的原点绘制的。但是图像看起来翻转了我不想要的。

opencv matplotlib python-2.7

5
推荐指数
1
解决办法
8070
查看次数

在 OpenCV 中读取 .exr 文件

我使用搅拌机生成了一些深度图,并以 OpenEXR 格式保存了 z 缓冲区值(32 位)。有没有办法使用 OpenCV 2.4.13 和 python 2.7 从 .exr 文件(逐像素深度信息)访问值?在任何地方都找不到示例。我在文档中可以看到支持这种文件格式。但是尝试读取这样的文件会导致错误。

new=cv2.imread("D:\\Test1\\0001.exr")
cv2.imshow('exr',new)
print new[0,0]
Run Code Online (Sandbox Code Playgroud)

错误:

print new[0,0]
TypeError: 'NoneType' object has no attribute '__getitem__'
Run Code Online (Sandbox Code Playgroud)

cv2.imshow('exr',new)
cv2.error: ..\..\..\..\opencv\modules\highgui\src\window.cpp:261: error: (-215) size.width>0 && size.height>0 in function cv::imshow
Run Code Online (Sandbox Code Playgroud)

我找到的最近的是这个链接和这个链接

python opencv image zbuffer openexr

4
推荐指数
1
解决办法
8893
查看次数

标签 统计

opencv ×2

image ×1

matplotlib ×1

openexr ×1

python ×1

python-2.7 ×1

zbuffer ×1