numpy - 调用 cv2.rectangle 时无法绘制框

标签 numpy opencv

在opencv中翻转图像后无法在图像上绘制框。

>>im = cv2.imread('demo.jpg')
>>im = im[:,::-1]
>>drawed_im = cv2.rectangle(im, (10,10), (50,50), (255, 0, 0), thickness=2)
>>TypeError: Layout of the output array img is incompatible with cv::Mat (step[ndims-1] != elemsize or step[1] != elemsize*nchannels)

最佳答案

这是一个奇怪的问题,我无法确定其原因。我之前在其他绘图函数中看到过它,我使用的解决方案是将图像重新转换为 numpy 数组。

import cv2
import numpy as np

im = cv2.imread('demo.jpg')
im = np.array(im[:,::-1]) # cast as array
drawed_im = cv2.rectangle(im, (10,10), (50,50), (255, 0, 0), thickness=2)

关于numpy - 调用 cv2.rectangle 时无法绘制框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49571138/

相关文章:

algorithm - OpenCV线拟合算法

python - 使用轨迹栏的 HoughLinesP

python - 计算矩阵在所有对角线上的迹

python - 如何在 Python 中从 FFT 获取时间/频率

python - 使用Python在3D空间(长方体)给定边界内随机生成均匀分布的点

python - OpenCV 嘴唇分割

c++ - 使用 Ferns 描述符训练后保存 opencv 描述符匹配器

python - 过滤 numpy 数组的 numpy 数组

Python:将维度附加到二维数组

python - OpenVINO:如何使用推理引擎构建 OpenCV 以启用从模型优化器加载模型