请教相片优化问题

ArWen 2008-11-30 11:37:17
偶应朋友所托,开发了一个出入境照相系统,可以控制相机拍照、缩放旋转取景、各种签证照片格式配置、各种排版效果、任意优化照片及打印成相。
其中的任意优化照片功能是在原始相片的基础上,调节其对比度、亮度、饱和度、锐度、RGB、伽玛值等,这些调整参数可通过配置设定,对于不同肤色的人可采用不同的优化效果。
但用户希望能根据原始相片,程序自动算出优化参数,而非在几种已设定的优化效果中选择。也就是说,他们只想看到一种优化效果,不管是谁来照,优化后的结果都差不多。
这可害惨偶了,偶不懂什么光学效果、摄影技术,不知道该如何调整,请教各位朋友,谁有这方面经验,请指点一二,不胜感激。
...全文
99 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
i_love_pc 2008-12-01
  • 打赏
  • 举报
回复
有点智能的感觉,不太容易。
cczlp 2008-12-01
  • 打赏
  • 举报
回复
参数多了不好调, 我觉得只该亮度就行. 肤色黑的调亮一些, 肤色白的调暗一些.
TripH0101 2008-12-01
  • 打赏
  • 举报
回复
void __fastcall TForm1::BitBtn2Click(TObject *Sender)
{
this->Label1->Caption="正在锐化处理图像... ";
this->Label1->Update();
int iHeight=this->Image1->Picture->Height;
int iWidth=this->Image1->Picture->Width;
//拉普拉斯模板
int Laplacian[9]={-1,-1,-1,-1,9,-1,-1,-1,-1};
for(int x=1;x<iWidth-1;x++)
for(int y=1;y<iHeight-1;y++)
{
int r=0,g=0,b=0;
int Index=0;
for(int col=-1;col<=1;col++)
for(int row=-1;row<=1;row++)
{
COLORREF pixel=this->Image1->Canvas->Pixels[x+row][y+col];
r+=GetRValue(pixel)*Laplacian[Index];
g+=GetGValue(pixel)*Laplacian[Index];
b+=GetBValue(pixel)*Laplacian[Index];
Index++;
}
//处理颜色值溢出
r=r>255?255:r;
r=r<0?0:r;
g=g>255?255:g;
g=g<0?0:g;
b=b>255?255:b;
b=b<0?0:b;
this->Image1->Canvas->Pixels[x-1][y-1]=RGB(r,g,b);
}
this->Label1->Caption="锐化处理图像完毕! ";
}
//---------------------------------------------------------------------------
ArWen 2008-12-01
  • 打赏
  • 举报
回复
现在影楼使用的有些工具软件,可以实现自动优化功能,不知其中原理.
就象这次软件大赛中的光影魔术手(http://www.neoimaging.cn/),看其中介绍,可以实现这个功能.

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧