相关疑难解决方法(0)

OpenCV - 检查两个图像是否 100% 相同的最快方法

这里有很多问题可以检查两个图像是否“几乎”相似。

我的任务很简单。使用 OpenCV,我想确定两个图像是否 100% 相同。

它们的大小相同,但可以使用不同的文件名保存。

c++ python opencv

9
推荐指数
3
解决办法
1万
查看次数

countNonZero函数在openCV中给出一个断言错误

我尝试使用countNonZero()函数进行水平投影,如下所示.

Mat src = imread(INPUT_FILE, CV_LOAD_IMAGE_COLOR);
Mat binaryImage = src.clone();
cvtColor(src, src, CV_BGR2GRAY);

Mat horizontal = Mat::zeros(1,binaryImage.cols, CV_8UC1);

for (int i = 0; i<binaryImage.cols; i++)
{
    Mat roi = binaryImage(Rect(0, 0, 1, binaryImage.rows));

    horizontal.at<int>(0,i) = countNonZero(roi);
    cout << "Col no:" << i << " >>" << horizontal.at<int>(0, i);
}
Run Code Online (Sandbox Code Playgroud)

但是在调用countonZero()函数时出现错误.错误如下.

    OpenCV Error: Assertion failed (src.channels() == 1 && func != 0) in cv::countNo
    nZero, file C:\builds\2_4_PackSlave-win32-vc12-shared\opencv\modules\core\src\st
    at.cpp, line 549
Run Code Online (Sandbox Code Playgroud)

有人可以指出错误吗?

c++ opencv assertion projection-matrix

8
推荐指数
1
解决办法
1万
查看次数

比较2 cv :: Mat

我有2个cv :: Mat数组(大小相同),当我想比较它们(如果相同)时,我使用了cv :: compare

cv::compare(mat1,mat2,dst,cv::CMP_EQ);
Run Code Online (Sandbox Code Playgroud)

有没有返回true/false的函数?

c++ opencv

6
推荐指数
2
解决办法
5673
查看次数

OpenCV比较两个图像并获得不同的像素

出于某种原因,下面的代码不起作用.我有两个非常相似但不相同的640*480图像(至少几百/千像素应该是不同的).

这就是我比较它们和计算不同像素的方式:

unsigned char* row;
unsigned char* row2;
int count = 0;

// this happens in a loop
// fIplImageHeader is current image
// lastFIplImageHeader is image from previous iteration
if ( NULL != lastFIplImageHeader->imageData ) {
for( int y = 0; y < fIplImageHeader->height; y++ )
{
    row = &CV_IMAGE_ELEM( fIplImageHeader, unsigned char, y, 0 );
    row2 = &CV_IMAGE_ELEM( lastFIplImageHeader, unsigned char, y, 0 );
    for( int x = 0; x < fIplImageHeader->width*fIplImageHeader->nChannels; x += fIplImageHeader->nChannels )
    {
        if(row[x] …
Run Code Online (Sandbox Code Playgroud)

c++ opencv

4
推荐指数
2
解决办法
2万
查看次数

标签 统计

c++ ×4

opencv ×4

assertion ×1

projection-matrix ×1

python ×1