- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试训练神经网络模型,这是使图像居中的代码的一部分,问题是当我运行这段代码时-
def centering_image(img):
size = [256,256]
img_size = img.shape[:2]
# centering
row = (size[1] - img_size[0]) // 2
col = (size[0] - img_size[1]) // 2
resized = np.zeros(list(size) + [img.shape[2]], dtype=np.uint8)
resized[row:(row + img.shape[0]), col:(col + img.shape[1])] = img
return resized
x = []
for i, file_path in enumerate(file_paths):
#read image
img = cv2.imread(file_path)
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
#resize
if(img.shape[0] > img.shape[1]):
tile_size = (int(img.shape[1]*256/img.shape[0]),256)
else:
tile_size = (256, int(img.shape[0]*256/img.shape[1]))
#centering
img = centering_image(cv2.resize(img, dsize=tile_size))
#out put 224*224px
img = img[16:240, 16:240]
x.append(img)
x = np.array(x)
我收到这个错误-
error Traceback (most recent call
last)
<ipython-input-11-2a14d86a9a00> in <module>()
17 #read image
18 img = cv2.imread(file_path)
---> 19 img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
20
21 #resize
error: /io/opencv/modules/imgproc/src/color.cpp:9716: error: (-215)
scn == 3 || scn == 4 in function cvtColor`
有什么解决办法吗?提前致谢
最佳答案
您加载的一张图片似乎有四个 channel 。因此,从 BGR 到 RBG 的颜色转换不起作用,因为它需要三个 channel 。
您可以改用
cv2.COLOR_BGRA2BGR
标志。
错误表明带有 COLOR_BGR2RGB
的 cvtColor
需要具有 3 或 4 个 channel 的图像,但得到了不同的东西。因此,您应该使用 print img.shape
仔细检查 channel 数。
关于python - scn == 3 ||函数 cvtColor 中的 scn == 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45622108/
我在 SceneKit 中编辑了一个对象并为其创建了 Material 。现在我想对另一个 scn 对象使用相同的材质。我只是使用 SceneKit 来编辑对象。 试图将它们放在同一个 xcode
我正在尝试训练神经网络模型,这是使图像居中的代码的一部分,问题是当我运行这段代码时- def centering_image(img): size = [256,256] img_size =
我刚开始在 Python 中使用 OpenCV 并遇到断言错误。我从 tutorial 中复制了以下代码,但它对我不起作用。 import numpy as np import cv2 as cv c
import numpy as np import cv2 import thread, winsound face_cascade = cv2.CascadeClassifier('C:\Users
我从其他解决方案中阅读了很多,但我仍然困惑我应该如何处理我的... #include #include #include #include #include using namespace
我在最后一帧遇到 Assertion failed 错误,同时逐帧读取和写入视频。错误只显示在最后一帧,不知道为什么。看到这个答案here ,这建议给 waitkey,我的代码已经有等待键了。 我的简
我目前在 Ubuntu 14.04 中,使用 python 2.7 和 cv2。 当我运行这段代码时: import numpy as np import cv2 img = cv2.imread('
我正在尝试在 Raspberry Pi 上运行人脸检测,因此我正在尝试找到最快的方法来完成所有操作。 (在 700MHz 处理器上,每一毫秒都至关重要!) 我做了一个快速的速度测试,使我需要检查的各种
我只想加载一个视频文件,将其转换为灰度并显示它。这是我的代码: import numpy as np import cv2 cap = cv2.VideoCapture('cars.mp4') whi
我是 OpenCV 的新手,在运行模板匹配代码时出现断言失败错误。错误信息如下所示 OpenCV Error: Assertion failed (scn == 3 || scn == 4) in c
我尝试播放教程中给出的文件中的视频。我的程序如下: import numpy as np import cv2 cap = cv2.VideoCapture('output.avi') while(c
我正在使用openCV通过python2处理视频捕获(.mkv文件) import cv2 (....) videofile = 'a.mkv' cap = cv2.VideoCapture(vide
我正在使用 raspberry pi camera和 python与 opencv .是相机没有工作吗? 下面是我的代码片段: import cv2 import numpy as np import
我关注了this tutorial OpenCV 对象跟踪并设法使代码在我的笔记本电脑上运行,无论是在使用 Visual Studio 的 Windows 上还是在我的 Ubuntu VM(使用 CM
我有简单的 OpenCV 代码,用于加载图像并将其转换为灰度。我有一个包含已复制图像的文件夹。就是一遍又一遍的同一个帧,不同的文件名,文件的内容完全一样。 我运行一个循环并尝试转换图像,它运行了 10
我正在尝试检测 gif 图像中的人脸,但由于 OpenCV 不支持 gif 格式,所以我使用 PIL 模块读取 gif 图像并将其转换回 numpy 数组供 OpenCV 使用。但这样做我我收到断言错
我正在尝试将 Mat 转换为灰度值,以便获得像素的数值。我在 void cv::cvtColor(cv::InputArray error) 上收到“断言失败(scn == 3 || scn == 4
这个问题在这里已经有了答案: OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cv:: cvtColor, file ..\..\.
我正在尝试使用 kmeans 聚类从图像中获取最常见的颜色。它可以很好地处理本地镜像,但会通过从 url 中提取图像的新功能返回此错误。这是抛出错误的行之前的代码: # import the nece
我是 Python 和 OpenCV 的初学者。我正在尝试一段代码,它从网络摄像头获取输入图像。下面是一段代码。 cam = create_capture(video_src, fallback='s
我是一名优秀的程序员,十分优秀!