作者sealoe (YoY)
看板Programming
标题[问题] 怎做快速的OpenCV改变亮度?
时间Fri Jan 8 15:25:22 2010
小弟想改变"影片"的亮度, 但是OpenCV本身的Function似乎比较慢速了一点
请问如何实做快速的改变动画亮度?
先po个小弟的龟速版本...真的很龟XD 1024*768的图简直无法忍受
void cvModifyLight(IplImage *src, double lightshift) {
int i = 0;
int j = 0;
CvScalar Scalar1;
cvCvtColor(src, src, CV_RGB2HLS);
for (i=0; i<src->height; i++)
{
for (j=0; j<src->width; j++)
{
Scalar1=cvGet2D(src, i,j);
Scalar1.val[1] =Scalar1.val[1]+lightshift ; //hls l=light
cvSet2D(src,i,j,Scalar1);
}
}
cvCvtColor(src, src, CV_HLS2RGB);
}
※ 编辑: sealoe 来自: 60.248.86.30 (01/08 15:29)
1F:推 wa120:直接从RGB改亮度如何? 140.133.9.113 01/08 21:52
2F:→ sealoe:我想可能最後真的透过RGB+sse 114.32.142.152 01/08 22:47
3F:→ sealoe:真的慢到无法忍受, 我觉得OPENCV可能会 114.32.142.152 01/08 22:47
4F:→ sealoe:无法在我的案例使用@@ 114.32.142.152 01/08 22:47
5F:→ sealoe:太多小问题orz 114.32.142.152 01/08 22:48
6F:推 bob123:cvAddS 59.126.66.114 01/09 00:28
7F:→ sealoe:可是HLS无法直接对点操作(可能我不知公式) 114.32.142.152 01/09 08:00
8F:→ sealoe:所以不太能单纯的用如RGB只用ADD就加强某 114.32.142.152 01/09 08:01
9F:→ sealoe:个通道 114.32.142.152 01/09 08:01
10F:→ sealoe:如果用RGB的东西下去算, 事实上不会快 114.32.142.152 01/09 08:01
11F:→ sealoe:应该说不会快到实用, 所以还是得透过 114.32.142.152 01/09 08:02
12F:→ sealoe:硬体类的加速, 比如opengl这样orz 114.32.142.152 01/09 08:02
13F:→ sealoe:我是要把连续图片处理过後组合成影片 114.32.142.152 01/09 08:03
14F:→ sealoe:所以可能先看别的方案这样@@ 114.32.142.152 01/09 08:03
15F:推 sunneo:用brook+看看 140.127.114.2 01/10 16:19