一種簡單的色彩平衡演算法的OPENCV實現

2021-09-22 10:44:12 字數 1063 閱讀 3430

很久之前看過一篇關於色彩平衡文章,在該文章中介紹了一種非常簡單高效的

色彩平衡演算法。下圖是演算法的演示效果(左邊為處理後的影象,右邊為處理前的影象)。

從圖中可以看出演算法有效的改善的影象的色彩,使得色彩更加的真實。

下面是實現**

#include "stdafx.h"

#include "cv.h"

#include "cxcore.h"

#include "highgui.h"

#pragma comment(lib, "cv.lib")

#pragma comment(lib, "cxcore.lib")

#pragma comment(lib, "highgui.lib")

void color_balance(iplimage *img)

;int num_of_pixels = img->width*img->height;

for(int y = 0; y < img->height; ++y)

}for(int i = 1; i < 256; ++i)

histo[i] = histo[i] + histo[i-1];

double s = 0.1;

int vmin = 0;

while (histo[vmin + 1] <= cvround(num_of_pixels*s/2))

vmin = vmin + 1;

int vmax = 255 - 1;

while( histo[vmax - 1] > cvround(num_of_pixels*(1 - s/2)))

if (vmax < 255 - 1)

vmax = vmax + 1;

for(int y = 0; y < img->height; ++y)

}for(int y = 0; y < img->height; ++y)}}

int _tmain(int argc, _tchar* ar**)

一種簡單的死鎖檢測演算法

1.死鎖檢測 給定一組執行緒操作鎖的流程,判斷是否會發生死鎖?例如 有兩個執行緒和兩個資源,執行緒對鎖的操作如下 其中t表示執行緒id,l表示鎖id,s表示操作 1表示獲取鎖,0表示釋放鎖 t l s 1 1 1 執行緒1獲取1號鎖 2 2 2 執行緒2獲取2號鎖 1 2 1 執行緒1獲取2號鎖,保...

一種負載均衡的演算法

今天晚上搞 走讀,一夥人在一起就一段 糾結了半天 大概是下面這個樣子 for int i 0 i urls.size i 這樣的每個使用者有乙個userid,當使用者點播節目的時候,需要去鑑權伺服器進行鑑權,一台鑒權伺服器可能無法應付過多的使用者,這裡布置了多台伺服器,伺服器的位址存放在urls這個...

一種簡單的基於FPGA車牌定位演算法的實現

一種簡單的基於fpga車牌定位演算法的實現 1概述 本節在 基於fpga特徵顏色目標的提取 和 基於fpga車牌位置的定位 基礎上完成車牌位置定位的verilog演算法 的下板實現。本實驗目標 在複雜環境中提取車牌,並找出車牌位置的上下左右邊界,最後還原到原始影象將車牌框起來。2 fpga的車牌位置...