簡體   English   中英

OpenCV錯誤:斷言

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM