找出平分线与图像的特定区域相交的位置

Find where a bisectrix interesects a specific area of an Image

本文关键字:区域 位置 平分线 图像      更新时间:2023-09-26

首先我使用的是javascript和KineticJS。我有一张x射线的照片(这样你就可以想象它使用的是什么颜色),这张照片是像这样的双桨的个人资料照片。我有一些线是在用户点击某些特定点后形成的,其中一些线是相交的。在其中一对中,我需要知道两条相交线形成的角度的平分线何时与骨开始的特定部分相交(我认为这是灰色的)。我的问题是,有没有一个好的方法来检查这一点?我的意思是Supoze,我取平分线上的每一点,检查像素的颜色?我怎么能确定呢,因为x射线可能不同(胶片亮度等)。你能给我一个建议还是带我去某个地方?

您的问题有点令人困惑。

如果两条线相交,则会创建4个角度,因此会创建4条平分线。

无论如何,以下是开始的方法。。。

一旦确定了哪些点是感兴趣的,就可以使用context.getImageData来获取这些点上像素的rgba值。

然后将每个rgba像素颜色转换为hsl格式。Hsl格式将Hue、Saturation&一种颜色的亮度。

骨骼&牙齿看起来更轻,因此您可以比较亮度值来发现骨骼/牙齿。

[加法:沿平分线计算点]

如果你知道两条线[x,y]的交点,并且你知道你感兴趣的角度(弧度角),那么你可以沿着平分该角度的线在距离(d)处计算一个点,如下所示:

var lineX = x + d * Math.cos(radianAngle);
var lineY = y + d * Math.sin(radianAngle);

然后可以使用getImageData中的data来获取点[lineX,lineY]处的rgba颜色。然后转换为hsl格式,并使用"Light"值来确定[lineX,lineY]是否在较轻的骨骼上。