opencv - 在OpenCV中画一条比像素细的线

标签 opencv

是否可以在厚度小于图像像素大小的图像上画一条线,就像下面的图像一样?我下面的代码仅允许我绘制1像素粗的线。

Mat image = imread(argv[1], CV_LOAD_IMAGE_GRAYSCALE);
line(image,cvPoint(0,0),cvPoint(10,10),CV_RGB(255,255,255),1,8); // Thickness = 1 (1 pixel thick)
namedWindow("Display Window", WINDOW_NORMAL );
imshow( "Display Window", image);

[编辑]解决方案:
Mat image = imread(argv[1], CV_LOAD_IMAGE_GRAYSCALE);
Mat image_zoom = Mat(image.size()*10, CV_32F);   // zoom in 10 times
resize(image, image_zoom, image_zoom.size(), 0, 0, INTER_AREA);
line(draw,cvPoint(0,0),cvPoint(100,100),CV_RGB(255,255,255),1,8);
namedWindow("Display Window", WINDOW_NORMAL );
imshow( "Display Window", image_zoom);

最佳答案

尝试使用抗锯齿线代替8连接线:
line(grad,cvPoint(0,0),cvPoint(10,10),CV_RGB(255,255,255),1,CV_AA); // anti-aliased
如果还不行,您可以尝试以缩放 View (可能带有箭头)绘制线条并调整图像大小。
尝试使用带有cv::resize()参数的INTER_AREA对缩小的图形进行降采样。

关于opencv - 在OpenCV中画一条比像素细的线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21702659/

相关文章:

windows - 如何将 cv.imwrite 修复为我没有收到错误,并且图像的副本保存在我想要的文件夹中

c++ - 检测图像上标记的最佳方法是什么?打开简历

c++ - OpenCV calibrateCamera 断言失败

matlab - 气缸全景

opencv - GStreamer 与 FFmpeg

Python(17874,0x111e92dc0)malloc : can't allocate region

python - Opencv 和 python 中的 K 均值聚类 : Is there any option to cluster in mahalanobis distance?

python - 复杂背景下的OCR时间戳提取

c++ - 如何使用 opencv contrib 模块编译 tldTracker

iphone - OpenCV.Framework 不为 armv7s 架构编译