[英]OpenCV Error: Assertion
Mat m1 = Mat(500, 300, CV_64F, Vec3b(255,255,255));
for (int i = 0; i < m1.rows; ++i)
for (int j = 0; j < m1.cols; ++j)
{
Vec3b color=m1.at<Vec3b>(Point(i, j));
}
imshow("test2", m1);
waitKey();
可變的顏色應該包含白色的像素的顏色,但是當我運行代碼時出現錯誤:
OpenCV錯誤:斷言失敗((((((sizeof(size_t)<< 28)| 0x8442211)>>((traits :: Depth <_Tp> :: value)&((1 << 3)-1))* 4 )&15)== elemSize1())在cv :: Mat :: at中,文件c:\\ opencv \\ build \\ include \\ opencv2 \\ core \\ mat.inl.hpp,第1118行
錯誤消息告訴您您需要了解的內容。 您已經超出范圍!
嘗試:
Point(j, i)
列對應於x
。 行對應於y
。
嘗試這個
Mat m1 = Mat(500, 300, CV_64F, Vec3b(255,255,255));
for (int i = 0; i < m1.rows; ++i)
for (int j = 0; j < m1.cols; ++j)
{
Vec3b color=m1.at<Vec3b>(i, j);//changed
}
imshow("test2", m1);
waitKey();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.