我正在使用opencv做一个项目,并且在某个阶段我对图像进行阈值处理以获得二进制图像。但在显示该二进制图像后,它似乎被中间不需要的黑色区域损坏。是因为一些内存损坏?或我的VGA卡的限制? 或任何其他原因?请帮忙。我在这里附上了一个快照。
实际上我的代码非常大,所以我只在这里发布相关代码段。
int printDefectThrshTemp = avgPixelIntensity1.val[0]*1.3 + threshPrint - 100;
if (printDefectThrshTemp > 255) printDefectThrshTemp = 255;
if (printDefectThrshTemp <1) printDefectThrshTemp = 1;
Mat resizedBadgeThresholded;
threshold(resizedBadgeTaken,resizedBadgeThresholded,printDefectThrshTemp,255,THRESH_BINARY_INV);
原始图像是从显示的模板中提取的徽章之一。