[問題] 怎做快速的OpenCV改變亮度?

看板Programming作者 (YoY)時間15年前 (2010/01/08 15:25), 編輯推噓3(3012)
留言15則, 4人參與, 最新討論串1/1
小弟想改變"影片"的亮度, 但是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)

01/08 21:52, , 1F
直接從RGB改亮度如何?
01/08 21:52, 1F

01/08 22:47, , 2F
我想可能最後真的透過RGB+sse
01/08 22:47, 2F

01/08 22:47, , 3F
真的慢到無法忍受, 我覺得OPENCV可能會
01/08 22:47, 3F

01/08 22:47, , 4F
無法在我的案例使用@@
01/08 22:47, 4F

01/08 22:48, , 5F
太多小問題orz
01/08 22:48, 5F

01/09 00:28, , 6F
cvAddS
01/09 00:28, 6F

01/09 08:00, , 7F
可是HLS無法直接對點操作(可能我不知公式)
01/09 08:00, 7F

01/09 08:01, , 8F
所以不太能單純的用如RGB只用ADD就加強某
01/09 08:01, 8F

01/09 08:01, , 9F
個通道
01/09 08:01, 9F

01/09 08:01, , 10F
如果用RGB的東西下去算, 事實上不會快
01/09 08:01, 10F

01/09 08:02, , 11F
應該說不會快到實用, 所以還是得透過
01/09 08:02, 11F

01/09 08:02, , 12F
硬體類的加速, 比如opengl這樣orz
01/09 08:02, 12F

01/09 08:03, , 13F
我是要把連續圖片處理過後組合成影片
01/09 08:03, 13F

01/09 08:03, , 14F
所以可能先看別的方案這樣@@
01/09 08:03, 14F

01/10 16:19, , 15F
用brook+看看
01/10 16:19, 15F
文章代碼(AID): #1BHjtbx9 (Programming)
文章代碼(AID): #1BHjtbx9 (Programming)