Можно ли нарисовать линию на изображении с толщиной, меньшей, чем размер пикселя изображения, как изображение ниже? Мой нижеприведенный код позволяет мне нарисовать линию толщиной в 1 пиксель.Нарисуйте линию тоньше пикселя в OpenCV
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);
нет, невозможно. как это должно срабатывать? – berak
есть ли другая альтернатива? как рисовать линию на другом слое поверх увеличенного изображения? – askingtoomuch
Чего вы хотите достичь? какая-то смешанная информация о пикселях, поэтому получается полупрозрачная линия? Чтобы вы могли нарисовать линию на отдельном изображении, добавьте оба изображения, взвешенное (альфа-смешение), но только для всех пикселей, которые не являются черными (или любым другим альфа-цветом) в линейном слое. – Micka