开发语言:C语言, 通用性强
首先通过XnView直接提取图片数据部分,文件类型为:XXX.raw
RAW文件中已经除去了结构体头部分,剩下图片数据,这就是图片处理的Source对象。
本代码主要工作是对图片的数据进行光亮度的调整,属于图片处理中最基础的部分。
实现功能包括变亮,模糊变亮,变暗,模糊变暗。
当我们对图片数据进行整体地“+”一个正整数,图片的三色灰度将整体右移,使图片变亮,但由于不是线性增加,有模糊感。
当我们对图片数据进行整体地“*”一个正数,图片的三色灰度将整体右移,使图片变亮,但线性增加,效果更逼真。
当我们对图片数据进行整体地“-”一个正整数,图片的三色灰度将整体左移,使图片变暗,但由于不是线性增加,有模糊感。
当我们对图片数据进行整体地“/”一个正数,图片的三色灰度将整体右移,使图片变亮,但线性增加,效果更逼真。
实现代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#defineADD 0
#define SUB 1
#defineMUL 2
#defineDIV 3
#define Y_ADD 0
#define Y_SUB1
#defineRANGE(x) (x<0?0:(x>255?255:x))
//---------------picattribute----------------------
unsignedint PicWidth;
unsignedint PicHeight;
//--------------------------------------------------
voidGraphBrightHandle(unsigned char *src, unsigned char *dest, int size, int type,double num);
intmain(int argc,char** argv)
{
int nErrorCode=0;
FILE *fin;
FILE *fout;
FILE *fout_Bright;
char szInFilename[256];