使用Opencv中setTo 函式所報錯誤記錄

2021-10-01 04:06:08 字數 794 閱讀 2318

記錄下使用opencv過程中的乙個報錯:

opencv error: assertion failed (mask.empty() || (mask.depth() == 0 && (mcn == 1 || mcn == cn) && size == mask.size)) in setto, file /tmp/binarydeb/ros-kinetic-opencv3-3.3.1/modules/core/src/copy.cpp, line 525

terminate called after throwing an instance of 'cv::exception'

what():  /tmp/binarydeb/ros-kinetic-opencv3-3.3.1/modules/core/src/copy.cpp:525: error: (-215) mask.empty() || (mask.depth() == 0 && (mcn == 1 || mcn == cn) && size == mask.size) in function setto

**是:

cv::mat src(480, 640, cv_8uc1, cv::scalar(0));

cv::mat taget;

src.copyto(taget);

cv::mat mask(480, 640, cv_8uc3, cv::scalar(0));

taget.setto(255,mask);

出現錯誤的原因是:src是單通道的,但是mask是3通道的,所以使用setto()函式時兩影象通道數不匹配。

opencv 中findContours函式介紹

findcontours 這個函式的主要功能是找到contours也就是邊界線,不過這個函式主要是給灰度圖物件服務的。函式的使用介紹 findcontours image,mode,method contours hierarchy offset contours,hierarchy 返回值cont...

OpenCV中與matlab中相對應的函式

1 matlab中的imread相當於opencv中的 cvloadimage imagename,cv load iamge anydepth cv load image anycolor 讀出的影象資訊保持了原有影象的資訊 包括通道資訊和位深資訊 rgb2gray相當於cvloadimage i...

OpenCV中與matlab中相對應的函式

1 matlab中的imread相當於opencv中的cvloadimage imagename,cv load iamge anydepth cv load image anycolor 讀出的影象資訊保持了原有影象的資訊 包括通道資訊和位深資訊 rgb2gray相當於cvloadimage im...