目錄
- 一.加法運算
- 1.加法運算的定義
- 2.主要應用舉例
- 3.各種噪聲說明
- 4.C++代碼
- 二.減法運算
- 1.減法運算的定義
- 2.主要應用舉例
- 三.乘法運算
- 1.乘法運算的定義
- 2.主要應用舉例
- 四.與運算
- 1.與運算的定義
- 2.主要應用舉例
- 五.非運算
- 1.非的定義
- 2.主要應用舉例
- 3.C++代碼
- 六.或運算
- 1.或的定義
- 2.主要應用舉例
- 七.異或運算
- 1.異或的定義
- 2.主要應用舉例
一.加法運算
1.加法運算的定義

2.主要應用舉例
①去除疊加性噪聲
對于原影像f(x,y),有一個噪聲影像集:

其中:

假設噪聲h(x,y)均值為0,且互不相關,N個影像的均值定義為:

期望值:

·改變影像均值將降低噪聲的影響,

②生成影像疊加效果

其中:

·可以得到各種影像合成的效果,也可以用于兩張圖片的銜接,
3.各種噪聲說明
①加性噪聲
加性噪聲和影像信號強度不相關,

②乘性噪聲
乘性噪聲和影像信號是相關的,

③椒鹽噪聲
黑影像上的白點,白影像上的黑點,
④量化噪聲
是由量化程序引起的,解決的最好方法是最佳量化,
4.C++代碼
/*加法*/
for (int i = 0; i < src.rows; i++)
{
for (int j = 0; j < src.cols; j++)
{
/*疊加特效*/
dst1_0.at<Vec3b>(i, j)[0] = 0.8 * src.at<Vec3b>(i, j)[0] + 0.2 * src1.at<Vec3b>(i, j)[0];
dst1_0.at<Vec3b>(i, j)[1] = 0.8 * src.at<Vec3b>(i, j)[1] + 0.2 * src1.at<Vec3b>(i, j)[1];
dst1_0.at<Vec3b>(i, j)[2] = 0.8 * src.at<Vec3b>(i, j)[2] + 0.2 * src1.at<Vec3b>(i, j)[2];
/*去除椒鹽噪聲*/
dst1_1.at<Vec3b>(i, j)[0] = 0.5 * src.at<Vec3b>(i, j)[0] + 0.5 * noise_saltpepper.at<Vec3b>(i, j)[0];
dst1_1.at<Vec3b>(i, j)[1] = 0.5 * src.at<Vec3b>(i, j)[1] + 0.5 * noise_saltpepper.at<Vec3b>(i, j)[1];
dst1_1.at<Vec3b>(i, j)[2] = 0.5 * src.at<Vec3b>(i, j)[2] + 0.5 * noise_saltpepper.at<Vec3b>(i, j)[2];
}
}
效果圖:


二.減法運算
1.減法運算的定義

2.主要應用舉例
①顯示兩幅影像的差異,檢測同一場景兩幅影像之間的變化,

②去除不需要的疊加性圖案,
設影像背景b(x,y),前景背景混合影像f(x,y),g(x,y)為去除了背景的影像,


③影像分割:如分割運動的車輛,減法去掉靜止部分,剩余的是運動元素和噪聲,
for (int i = 0; i < src.rows; i++)
{
for (int j = 0; j < src.cols; j++)
{
/*疊加特效*/
dst2.at<Vec3b>(i, j)[0] = dst1_0.at<Vec3b>(i, j)[0] - 0.2 * src1.at<Vec3b>(i, j)[0];
dst2.at<Vec3b>(i, j)[1] = dst1_0.at<Vec3b>(i, j)[1] - 0.2 * src1.at<Vec3b>(i, j)[1];
dst2.at<Vec3b>(i, j)[2] = dst1_0.at<Vec3b>(i, j)[2] - 0.2 * src1.at<Vec3b>(i, j)[2];
}
}
效果圖:

三.乘法運算
1.乘法運算的定義

2.主要應用舉例
影像的區域顯示,用二值蒙版影像與原影像做乘法,

四.與運算
1.與運算的定義

2.主要應用舉例
①求兩個子影像的相交子圖

②模板運算:提取感興趣的子影像

五.非運算
1.非的定義

2.主要應用舉例
①獲得一個陰影像,
②獲得一個子影像的補影像,
3.C++代碼
/*非運算*/
for (int i = 0; i < src.rows; i++)
{
for (int j = 0; j < src.cols; j++)
{
dst3.at<Vec3b>(i, j)[0] = 255 - src.at<Vec3b>(i, j)[0];
dst3.at<Vec3b>(i, j)[1] = 255 - src.at<Vec3b>(i, j)[1];
dst3.at<Vec3b>(i, j)[2] = 255 - src.at<Vec3b>(i, j)[2];
}
}

六.或運算
1.或的定義

2.主要應用舉例
①合并子影像

②模板運算
提取感興趣的子影像,

七.異或運算
1.異或的定義

2.主要應用舉例
①獲得相交子影像

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/353546.html
標籤:其他
上一篇:1.4 DICOM影像CT值計算
