我正在尝试使用opencv获取两条线的宽度或厚度!我正在使用该threshold
函数来获得更高的线条表示形式,例如:
我的问题是如何以像素为单位获得线条的粗细,我尝试使用该HoughLinesP
功能,但我不确定结果是否正确:
这是我尝试过的代码:
.........................................
vector<Mat> laserChannels;
vector<Vec4i> lines;
Mat laserCross;
Mat otsu;
while (key!= 27){
cap >> laserCross;
split(laserCross, laserChannels);
threshold(laserChannels[2], otsu, 50, 255, THRESH_BINARY);
HoughLinesP( otsu, lines, 1, CV_PI/2, 1, 400,100 );
for( size_t i = 0; i < lines.size(); i++ )
{
line( laserCross, Point(lines[i][0], lines[i][1]),
Point(lines[i][2], lines[i][3]), Scalar(0,0,255), 1, 8 );
}
std::cout << lines.size()<< std::endl;
................................................
线条大小是 24 25 这是否意味着线条是 12 像素厚?提前感谢您的帮助!