opencv / opencv-python

Automated CI toolchain to produce precompiled opencv-python, opencv-python-headless, opencv-contrib-python and opencv-contrib-python-headless packages.
https://pypi.org/project/opencv-python/
MIT License
4.56k stars 853 forks source link

error: OpenCV(4.9.0) D:\a\opencv-python\opencv-python\opencv\modules\dnn\src\layers\convolution_layer.cpp:396: error: (-2:Unspecified error) Number of input channels should be multiple of 3 but got 4 in function 'cv::dnn::ConvolutionLayerImpl::getMemoryShapes' #1011

Open XZH2024 opened 4 months ago

XZH2024 commented 4 months ago

(Translated using DeepL)

Expected behaviour

Normal output.

Actual behaviour

After Auto Focus Cropping is enabled Click the "Generate" button error: OpenCV(4.9.0) D:\a\opencv-python\opencv-python\opencv\modules\dnn\src\layers\convolution_layer.cpp:396: error: (-2:Unspecified error) Number of input channels should be multiple of 3 but got 4 in function 'cv::dnn::ConvolutionLayerImpl::getMemoryShapes' image

Steps to reproduce

Issue submission checklist
kevinstrax commented 2 months ago

Use jpeg, not png

kevinstrax commented 1 month ago

我猜测是因为png带alpha通道(rgba),通道数是4因此报错。换成jpg就没事了。

XZH2024 commented 1 month ago

问题依旧存在,还是报error: OpenCV(4.9.0) D:\a\opencv-python\opencv-python\opencv\modules\dnn\src\layers\convolution_layer.cpp:396: error: (-2:Unspecified error) Number of input channels should be multiple of 3 but got 4 in function 'cv::dnn::ConvolutionLayerImpl::getMemoryShapes'错误,但是只要把“自动面部焦点剪裁”关掉就能正常出图

我猜测是因为png带alpha通道(rgba),通道数是4因此报错。换成jpg就没事了。

puppet-king commented 1 month ago

降级到 opencv-python==4.7.0.72, 升级到 4.10.84 不会报错但是没效果。

kevinstrax commented 1 month ago

问题依旧存在,还是报error: OpenCV(4.9.0) D:\a\opencv-python\opencv-python\opencv\modules\dnn\src\layers\convolution_layer.cpp:396: error: (-2:Unspecified error) Number of input channels should be multiple of 3 but got 4 in function 'cv::dnn::ConvolutionLayerImpl::getMemoryShapes'错误,但是只要把“自动面部焦点剪裁”关掉就能正常出图

我猜测是因为png带alpha通道(rgba),通道数是4因此报错。换成jpg就没事了。

我试了下,使用第一项Single Image的确不行。我是使用Batch from Directory并使用jpg可以正常使用,希望对你有帮助。 image image image image

XZH2024 commented 1 month ago

问题依旧存在,还是报error: OpenCV(4.9.0) D:\a\opencv-python\opencv-python\opencv\modules\dnn\src\layers\convolution_layer.cpp:396: error: (-2:Unspecified error) Number of input channels should be multiple of 3 but got 4 in function 'cv::dnn::ConvolutionLayerImpl::getMemoryShapes'错误,但是只要把“自动面部焦点剪裁”关掉就能正常出图

我猜测是因为png带alpha通道(rgba),通道数是4因此报错。换成jpg就没事了。

我试了下,使用第一项Single Image的确不行。我是使用Batch from Directory并使用jpg可以正常使用,希望对你有帮助。 image image image image

在点击生成后,进度条一直显示等待中,过了几分钟之后就自动结束了,没有图片生成,输出文件夹中没有文件。也没有任何错误信息,控制台也没有日志输出😂 估计只能等作者修好绝对路径这个问题了

降级到 opencv-python==4.7.0.72, 升级到 4.10.84 不会报错但是没效果。

版本换成4.7.0.723后,依旧报错,只是报错内容中的版本号从4.9变成了4.7。。。

kevinstrax commented 1 month ago

问题依旧存在,还是报error: OpenCV(4.9.0) D:\a\opencv-python\opencv-python\opencv\modules\dnn\src\layers\convolution_layer.cpp:396: error: (-2:Unspecified error) Number of input channels should be multiple of 3 but got 4 in function 'cv::dnn::ConvolutionLayerImpl::getMemoryShapes'错误,但是只要把“自动面部焦点剪裁”关掉就能正常出图

我猜测是因为png带alpha通道(rgba),通道数是4因此报错。换成jpg就没事了。

我试了下,使用第一项Single Image的确不行。我是使用Batch from Directory并使用jpg可以正常使用,希望对你有帮助。 image image image image

在点击生成后,进度条一直显示等待中,过了几分钟之后就自动结束了,没有图片生成,输出文件夹中没有文件。也没有任何错误信息,控制台也没有日志输出😂 估计只能等作者修好绝对路径这个问题了

降级到 opencv-python==4.7.0.72, 升级到 4.10.84 不会报错但是没效果。

版本换成4.7.0.723后,依旧报错,只是报错内容中的版本号从4.9变成了4.7。。。

我的OpenCV版本是4.10.0

XZH2024 commented 1 month ago

版本升级为4.10.0.84之后还是老问题,啥都不显示就自动结束了,连日志都没有 当时是打算训练模型才打算用这个功能的,现在已经半退坑Stable-Diffusion了,暂时就这样吧......

kevinstrax commented 1 month ago

版本升级为4.10.0.84之后还是老问题,啥都不显示就自动结束了,连日志都没有 当时是打算训练模型才打算用这个功能的,现在已经半退坑Stable-Diffusion了,暂时就这样吧......

我中秋刚接触,那时候训练的,的确也就那样。