本站消息

站长简介/公众号


站长简介:高级工程师,爱好交友,无偿辅导python和前端,技术交流,面试指导,找工作指导,瞎聊都可加我微信i88811i哈,欢迎欢迎!也欢迎加入程序员交流群,专属程序员的圈子,加我微信拉你进群.欢迎关注我的微信公众号:程序员总部,程序员的家,探索程序员的人生之路!分享IT最新技术,关注行业最新动向,让你永不落伍。了解同行们的工资,生活工作中的酸甜苦辣,谋求程序员的最终出路!

  价值13000svip视频教程,python大神匠心打造,零基础python开发工程师视频教程全套,基础+进阶+项目实战,包含课件和源码

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

为什么我的 cv2.findContours 函数有这个问题?

发布于2022-01-28 03:21     阅读(586)     评论(0)     点赞(12)     收藏(4)



回溯(最近一次调用最后):文件“C:/Users/michail.gakas/Desktop/python scripts/counters.1py.py”,第 10 行,imgray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) 错误:C :\builds\master_PackSlaveAddon-win64-vc12-static\opencv\modules\imgproc\src\color.cpp:7456: 错误:(-215) scn == 3 || 函数 cv::ipp_cvtColor 中的 scn == 4

我的代码:

import numpy as np
import cv2

img = cv2.imread('star.jpg',0)

imgray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
ret,thresh = cv2.threshold(imgray,127,255,0)
im2, contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
#cv2.waitKey(0)
#cv2.destroyAllWindows()

我正在使用 python 2.7 CV3,但我之前安装了 CV2


解决方案


我现在没有 OpenCV,但从我看到你所做的

img = cv2.imread("star.jpg", 0)

但您可能想要做的是以颜色打开它:

img = cv2.imread("star.jpg", 1)

或将其“不变”打开为:

img = cv2.imread("star.jpg", -1)

您所做的是以灰度模式打开图像,然后尝试将其转换为灰度。该错误实际上表明assert没有找到具有 3 或 4 个通道的图像,并且BGR2GRAYSCALE从彩色 jpg 图像(3 个通道)或彩色 png 图像(4 个通道,有时 1 个用于 alpha)变为 1 个通道灰度图像。Alpha 通道在此函数中被丢弃。请让您的生活更轻松,并使用 cv2 提供的官方标志来提高代码的可读性。

cv2.IMREAD_UNCHANGED (<0) loads the image as is (including the alpha channel if present)
cv2.IMREAD_GRAYSCALE ( 0) loads the image as an intensity one
cv2.IMREAD_COLOR (>0) loads the image in the RGB format

站长简介:高级工程师,爱好交友,无偿辅导python和前端,技术交流,面试指导,找工作指导,瞎聊都可加我微信i88811i哈,欢迎欢迎!也欢迎加入程序员交流群,专属程序员的圈子,加我微信拉你进群
欢迎关注我的公众号:程序员总部,关注公众号回复python,免费领取 全套python视频教程,关注公众号回复充值+你的账号,免费为您充值1000积分







所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/1274642/2395e0ba7f1ab3d0f853/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

12 0
收藏该文
已收藏

评论内容:(最多支持255个字符)