图像的对数变换
對數變換的通用形式: S= C* LOG(1+ R)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (其中C是個常數,并設R>= 0)
下面介紹些要用的函數:
cvSet*D
修改指定的數組?
void cvSet1D( CvArr* arr, int idx0, CvScalar value );
void cvSet2D( CvArr* arr, int idx0, int idx1, CvScalar value );
void cvSet3D( CvArr* arr, int idx0, int idx1, int idx2, CvScalar value );
void cvSetND( CvArr* arr, int* idx, CvScalar value );
arr?
輸入數組?
idx0?
元素下標的第一個成員,以0為基點?
idx1?
元素下標的第二個成員,以0為基點?
idx2?
元素下標的第三個成員,以0為基點?
idx?
元素下標數組?
value?
指派的值?
函數 cvSet*D 指定新的值給指定的數組元素。對于稀疏矩陣如果指定節點不存在函數創建新的節點?
CvScalar?
可存放在1-,2-,3-,4-TUPLE類型的捆綁數據的容器?
typedef struct CvScalar
{
double val[4];?
}
CvScalar;
/* 構造函數:用val0初始化val[0]用val1初始化val[1], 以此類推*/
代碼:
[cpp]?view plaincopy
結果圖:
PS:
src= cvLoadImage("F://Opencv_picture//1211.jpg", 0); // 這里要把圖像強制轉換
下面的是沒有在CVLoadImage()中把第二個參數設置為0(即強制轉換為灰度圖)
結果圖:
哎,處理后竟然變色了,和想要的結果不同。
總結
- 上一篇: eclipse如何设置中文
- 下一篇: 机器视觉之光源基础知识及光源选型