0.8-OpenCvSharp4 上取樣和下采樣
0.8 OpenCvSharp4 上取樣和下采樣
影像金字塔是影像中多尺度表達的一種,最主要用於影像的分割,是一種以多解析度來解釋影像的有效但概念簡單的結構。影像金字塔最初用於機器視覺和影像壓縮,一幅影像的金字塔是一系列以金字塔形狀排列的解析度逐步降低,且來源於同一張原始圖的影像集合。其通過梯次向下取樣獲得,直到達到某個終止條件才停止取樣。金字塔的底部是待處理影像的高解析度表示,而頂部是低解析度的近似。我們將一層一層的影像比喻成金字塔,層級越高,則影像越小,解析度越低。
1. 高斯金字塔 ( Gaussian pyramid): 用來向下/降取樣,主要的影像金字塔。影像的降取樣。
2. 拉普拉斯金字塔(Laplacian pyramid): 拉普拉斯金字塔與高斯金字塔正好相反,高斯金字塔通過底層影像構建上層影像,而拉普拉斯是通過上層小尺寸的影像構建下層大尺寸的影像。拉普拉斯金字塔具有預測殘差的作用,需要與高斯金字塔聯合一起使用。根據它的上層降取樣影像重建影像。
3. DOG金字塔(Difference of Gaussian-DOG):把同一張影像在不同的引數下做高斯模糊之後的結果相減,得到的輸出影像。稱為高斯不同(DOG)。高斯不同是影像的內在特徵,在灰度影像增強、角點檢測中經常用到。
//
// 摘要:
// Upsamples an image and then blurs it.對影像進行取樣,然後使其模糊。
//
// 引數:
// src:
// input image.
//
// dst:
// output image. It has the specified size and the same type as src.
//
// dstSize: 輸出預設大小 Size(src.cols*2, (src.rows*2)
// size of the output image; by default, it is computed as Size(src.cols*2, (src.rows*2)
//
// borderType:
public static void PyrUp(InputArray src, OutputArray dst, Size? dstSize = null, BorderTypes borderType = BorderTypes.Reflect101);
//
// 摘要:
// Blurs an image and downsamples it. 降取樣和模糊影像
//
// 引數:
// src:
// input image.
//
// dst:
// output image; it has the specified size and the same type as src.
//
// dstSize:
// size of the output image; by default, it is computed as Size((src.cols+1)/2
//
// borderType:
public static void PyrDown(InputArray src, OutputArray dst, Size? dstSize = null, BorderTypes borderType = BorderTypes.Reflect101);
//上取樣
OpenCvSharp.Size size = new OpenCvSharp.Size(srt.Cols * 2, srt.Rows * 2);
Cv2.PyrUp(srt,dst,size);
//下采樣
OpenCvSharp.Size size = new OpenCvSharp.Size(srt.Cols/2,srt.Rows/2);
Cv2.PyrDown(srt,dst,size);
//DOG高斯不同
//步驟:1.轉換灰度影像;2.高斯模糊;3.高斯模糊之後的結果相減;4.影像歸一化;
Mat gray = new Mat(srt.Size(), srt.Type());
Mat g1 = new Mat(srt.Size(), srt.Type());
Mat g2 = new Mat(srt.Size(), srt.Type());
Mat dogImg = new Mat(srt.Size(), srt.Type());
//[高斯模糊](https://blog.csdn.net/ch_ccc/article/details/108927663)
Cv2.CvtColor(srt,gray,ColorConversionCodes.BGR2GRAY);
OpenCvSharp.Size size = new OpenCvSharp.Size(3, 3);
Cv2.GaussianBlur(gray,g1,size,0,0);
Cv2.GaussianBlur(g1,g2,size,0,0);
Cv2.Subtract(g1,g2,dogImg);
Cv2.Normalize(dogImg,dogImg,255,0,NormTypes.MinMax);
DOG 影像
相關文章
- 影像的上取樣 下采樣
- Glide4.8原始碼拆解(四)Bitmap解析之"下采樣"淺析IDE原始碼
- 逆機率取樣-接受拒絕取樣-MCMC取樣
- softmax負取樣和nce loss
- 深度學習中影像上取樣的方法深度學習
- 英偉達不止晶片,Omniverse可以這樣用來展示公司風采晶片
- 滑鼠滑過和獲取焦點樣式
- 衝激串取樣
- 能量視角下的GAN模型(二):GAN=“分析”+“取樣”模型
- Python中的隨機取樣和概率分佈(一)Python隨機概率分佈
- Python中的隨機取樣和概率分佈(二)Python隨機概率分佈
- 繫結class樣式和style樣式
- STM32F3系列 ADC取樣單端取樣模式(基於LL庫)模式
- 時間解析度、取樣率與取樣深度三者關係理解
- 準同步取樣演算法演算法
- 奈奎斯特取樣定理
- Stable diffusion取樣器詳解
- MSA研究時,該如何取樣?
- ODS:輸出多樣化取樣,有效增強白盒和黑盒攻擊的效能 | NeurIPS 2020
- Javascript 怎樣獲取副檔名?JavaScript
- ST ADC取樣時間計算
- 怎樣高效的爬取資料?
- pandas groupby, resample 按時間取樣
- SAP QM 取樣方案的c1 d1 c2 d2 --多重取樣
- 怎樣解題|題9.3.40:帶有下取整的求和的極限
- 不一樣的HTTP快取體驗HTTP快取
- 基於序列模型的隨機取樣模型隨機
- 數字影像處理-取樣量化(Matlab)Matlab
- Web應用怎樣獲取Access Token?Web
- 幾種常見取樣方法及原理
- Mntra Instruments Bundle for Mac(MNDALA系列取樣合集)Mac
- CAN匯流排取樣點測試
- 伺服系統電流取樣小結
- JS基礎_獲取元素的樣式JS
- uni-app全域性樣式和區域性樣式APP
- PostgreSQL/MogDB/openGauss怎樣獲取表上依賴於該表的檢視SQL
- CSS 背景樣式和列表CSS
- vuejs和php一樣嗎VueJSPHP