算法一、图像反相算法
将图像按像素进行求反,取得类似照相底片效果。求反处理的图像与原始图“黑白颠倒”,
可以看清原始图中灰黑区域的情况。求反的图像一般用于数字图像的初步处理。
设DA表示输入图像的灰度,DB表示输入图像的灰度。灰度变换方程为:
DB=255-DA
在视频显示任务的循环中,程序首先将视频数据从输入缓冲区读入自己开设的临时
图像处理缓冲区,再在临时图像处理缓冲区上进行处理,处理后的数据再输出到输出缓冲区。
图像的采集分为奇偶场采集,即将图像的奇数行作为一场数据,偶数行作为另
一场数据。对像素处理时,一般需分为奇数行与偶数行处理。在下面的程序中奇数行是第一场数据放在临时图像处理缓冲区的前半部。
void videoReverse()
{
int i,j;
//方框内奇数行
for(i=intALines;i<intDLines;i++) //行数
{
for(j=intAPixels;j<intDPixels;j++) //像素个数/每行
{
*(Uint8 *)(tempYbuffer + i*numPixels + j) =
0xFF-*(Uint8 *)(tempYbuffer + i*numPixels + j);
}
}
//方框内偶数行
for(i=numLines/2+intALines;i<numLines/2+intDLines;i++)//行数
{
for(j=intAPixels;j<intDPixels;j++) //像素个数/每行
{
*(Uint8 *)(tempYbuffer + i*numPixels + j) =
0xFF-*(Uint8 *)(tempYbuffer + i*numPixels + j);
}
}
}
|