Bresenham Line光栅化不连接像素

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Bresenham Line光栅化不连接像素相关的知识,希望对你有一定的参考价值。

我试图使用Bresenham线算法绘制一条线,给出起点(x1,y1)和结束(x2,y2)点。每次当我尝试绘制线条时,像素都会断开连接。我也遵循了Matlab解决方案Matlab Bresenham 8-connectedBresenham 4-connectedBresenham any gradient和DDA。

但每次我尝试绘制陡峭的线条时,像素都会断开连接。我不确定这是否是Matlab imshow的一个问题。

我得到的图像(蓝线)。

Bresenham Result

我想要的是确切的:

Matlab Structuring Element

请注意,我使用了结构元素(Matlab中的strel函数来生成二进制图像)。

有人可以帮我这个吗?我感谢你的时间和努力。

答案

这是屏幕分辨率的问题。在13英寸的MacBook Pro上,陡峭的蓝色线条断开连接。在22英寸(1920x1080)的高分辨率显示器上,陡峭的蓝线连接良好。

Connected Line

以上是关于Bresenham Line光栅化不连接像素的主要内容,如果未能解决你的问题,请参考以下文章

直线光栅化-Bresenham算法

光栅图形学:直线段的扫描转换算法

Bresenham画线算法详解及其OpenGL编程实现

指出用中点算法和Bresenham算法扫描转换像素点(8,6)到(1,1)的线段时的像素

中点Bresenham算法光栅化画椭圆(四分法)

OpenGL光栅化作业:bresenham算法GL_POINTS为基础画线段