python+opencv坑记录

w,h和x,y的顺序问题

opencv在python中的Mat等数据结构都是依托于numpy的,numpy的一些特性与我们的常识有些稍微违背,一些注意点如下:

import numpy as np
import cv2

image=cv2.imread("image.jpg",0) # image.jpg是一张640×480的图像
print(image.shape)
>>> (480, 640)
# 对图像的某个元素进行操作
image[y, x] = 0  # 对image的第y行,第x列操作,和C++的at函数的顺序一样

# opencv函数中size的顺序是按照宽度在前,高度在后的
image = cv2.resize(image, (new_w, new_y))

# opencv画图函数中的点都是元组,x(宽度方向)在前,y(高度方向)在后
cv2.circle(image, (int(pt_x), int(pt_y)), 2, (255,255,255), 1)

当然,上述的函数中,x,y或者w,h的顺序还是以官网的介绍为主。


对轮廓进行操作的函数

例如minAreaRect和fitEllipse函数,输入一个numpy的向量,该向量的形状为(L, 1, 2),且其中的所有元素必须是int型!!!如果不是int型,则引发错误error: (-215) total >= 0 && (depth == 5 || depth == 4) in function XXXX。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值