幼儿园转让信息:程序中循环引用的问题

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/27 18:53:58
在图像处理时,有一个程序,是这样的:
假设有一个图片,4*4,共16个像素,分别用A--L来代表。
我们先观察这个图片,只有中间的F,G,J,K这四个像素的“邻居”是全的。
为了简便起见,我们只处理这4个像素
先计算差值: Delta= F - (A+B+C+E+G+I+J+K) / 8
(A+B+C+E+G+I+J+K) / 8就是F周围的像素的平均值,
将这个平均值乘以一个系数再加到F上,就得到了一个新的F值:
F=F + Delta * Alpha
这个系数Alpha就是锐化度,改变这个系数就能得到不同的锐化效果。不过一般都是取得比较小的,如:0.3
于是,我们只要使用两个循环来遍历整个图片的像素值(去除边界)就能得到一个锐化的效果了。
但是大家或许会发现在处理后面几个点的时候,前面的点的值已经不是原来的值了,
比如处理G的时候,需要用到F的值,而F则已经被改变,并且F的改变又和G的值有关系,这样就会变成一种循环引用。
这个问题如何解决呢?
除了建立存储区保存原始数据之外,我记得不知在哪里看到过一个另外的方法,好像是换一个循环引用区,想不起来了,哎呀

另建一个缓冲区来储存

对,锐化后的图形数据和原始的图形数据分开储存。