加色法,如何用Matlab实现?

问题描述:

加色法,如何用Matlab实现?
如图 我想计算一个非常复杂的重叠区域,想把两个区域填充颜色,再用加色法得到重叠区域的混合颜色,但我按照帮助,用fill函数填充无法实现加色法,即重叠区域仍然是红色或者蓝色,不知道怎么得到蓝色+红色的混合颜色?大神可否用简单的实例说明下
1个回答 分类:综合 2014-10-20

问题解答:

我来补答
两张RGB三通道的图片对应通道颜色相加,对临界值(就是大于255的数字)处理下就行了.
再问: 可有简单的示例代码供学习参考?
再答: 你做的是数字图像处理方面
还是单纯就是找叠加区域?
可能我之前理解有问题
数字图像处理方面可能不太适合你

你把你fill函数写的语句贴一下吧

看看你是不是fill语句写错了
再问: 是这样的,上图中所有椭圆尺寸、方向都一样,只是平移了,我想求其中某一个椭圆跟周围椭圆相交面积,在这个椭圆里应该包括0次、一次、二次等重叠区域,用空间几何非常麻烦,想利用计算机估算,不同重叠区域的颜色不同,再利用什么方法估算出每种重叠的面积
再答: 不太清楚你具体椭圆是怎么标记的

我说下想法吧
利用微积分的思想来进行估算
可以规定步长来讲整个区域按照小格子划分开来
用一个数组来标记小格子初始全为0
然后每个椭圆与你要计算重叠区域面积的那个椭圆计算一次
(重叠区域的小格子对应数组位置标记为1)
(其实这一步可以根据椭圆中心位置进行预处理淘汰掉一部分椭圆)
所有椭圆计算完毕之后计算下小格子里面1的个数乘以小格子的面积就能估算重叠面积了。

PS:关于你说的涂颜色 fill函数里面的C是颜色可以设置。主要不清楚你椭圆是怎么出来的?
是最开始以一组[X,Y]的坐标然后随机数相加平移得到的?
再问: 所有椭圆的长短轴都一样,不同的只是中心点坐标,而长短轴、中心点坐标都是能计算出来的。原题目其实是一堆椭球,我从不同方向看它们,有可能部分遮挡,我现在已经把空间坐标系转为平面坐标系了,而用积分的方法,我只会计算两个椭圆的公共面积,再多的话计算实在太复杂,于是想用计算机编程方法(之前听说可以用光线跟踪、区域填充算法等),不知道有没有啥方便方法,近似计算也可以
再答: 我上面的回答就是用区域填充的方法来估算的啊
 
 
展开全文阅读
剩余:2000
上一页:为什么只选B
下一页:第8题练习