作者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