opencv清晰度,色偏等評價函式

2021-07-15 19:11:09 字數 1900 閱讀 1406

配置: vs2008 mfc  & opencv 2.4.4

步驟:1、新建 win32 控制台應用,空專案。

2、新增 main.cpp 檔案。

3、新增 *.lib 庫《軟體配置裡有說明》

說明:各類引數根據實際攝像頭獲取。我的是隨意設定的。試驗狀態。

付原始碼:

double defrto(mat frame)  } 

dr = temp/num; 

return dr; 

}void colorexception(mat inputimg,float& cast,float& da,float& db) 

for(int i=0;i } 

da=a/float(labimg.rows*labimg.cols); 

db=b/float(labimg.rows*labimg.cols); 

float d =sqrt(da*da+db*db); 

float ma=0,mb=0; 

for(int i=0;i<256;i++) 

ma/=float((labimg.rows*labimg.cols)); 

mb/=float((labimg.rows*labimg.cols)); 

float m=sqrt(ma*ma+mb*mb); 

float k=d/m; 

cast = k;

printf("色偏指數: %f\n",cast);

if(cast>1)

printf("存在色偏\n");

else

printf("不存在色偏\n");

return; 

}void brightnes***ception (mat inputimg,float& cast,float& da)  } 

da=a/float(grayimg.rows*inputimg.cols); 

float d =abs(da); 

float ma=0; 

for(int i=0;i<256;i++) 

ma/=float((grayimg.rows*grayimg.cols)); 

float m=abs(ma); 

float k=d/m; 

cast = k;

printf("亮度指數: %f\n",cast);

if(cast>1)

else

printf("亮度:正常\n");

imshow("源影象",image); 

printf("\n質量檢測\n\n");

float x = 1.0, y = 0.0, z = 0.0;

double t =  defrto(image);        //清晰度

printf("清晰度: %f\n",t);

if(t>10)

printf("清晰:正常\n");

else

printf("模糊\n\n");

printf("\n");

colorexception(image, x, y, z);      //色偏

printf("\n");

brightnes***ception (image, x, y);    // 明亮度

關於電視的清晰度

顯示器上所有的影象都是一線一線掃瞄上去的,無論是隔行掃瞄還是逐行掃瞄。垂直和水平同步訊號是顯示器中兩個基本的同步訊號,水平同步訊號決定了畫出一條橫越螢幕線的時間,垂直同步訊號決定了從螢幕頂部劃到底部在返回到原始位置所需要的時間。垂直同步訊號代表著顯示器的重新整理率水平。水平同步脈衝 hsync 加在...

使用MediaRecorder清晰度問題

mmediarecorder new mediarecorder mmediarecorder.reset if mcamera null mmediarecorder.setcamera mcamera mmediarecorder.setonerrorlistener this mmediare...

清晰度 解析度和銳度的關係

銳度是acutance,而不是sharpness,雖然兩個詞都是銳度的意思,但兩者表示的是不同的東西,sharpness其實指的是 的清晰度 acutance是指黑白色調的邊界的鋒利或銳利程度,即黑白邊界處的對比度。高acutance 的黑白邊界非常清晰,見下圖 銳度 邊界處影像資訊過渡的快慢 高銳...