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可以這樣用來展示公司風采晶片
- 深度學習中影像上取樣的方法深度學習
- javascript如何獲取內聯樣式和外部樣式表的值JavaScript
- Oracle 動態取樣Oracle
- oracle隨機取樣Oracle隨機
- 這樣下載的網頁為什麼在記事本中顯示和控制檯上不一樣???網頁
- 能量視角下的GAN模型(二):GAN=“分析”+“取樣”模型
- Oracle 執行計劃 分析和動態取樣Oracle
- 【原創】ORACLE 資料分析和動態取樣Oracle
- Oracle動態取樣分析Oracle
- 繫結class樣式和style樣式
- 怎樣用純HTML和CSS更改預設的上傳檔案按鈕樣式HTMLCSS
- 【AWR】測試AWR手動取樣對系統自動取樣的影響
- 時間解析度、取樣率與取樣深度三者關係理解
- Oracle 分析及動態取樣Oracle
- 準同步取樣演算法演算法
- Oracle動態取樣學習Oracle
- css獲取實時樣式CSS
- 【sql調優】動態取樣SQL
- AWR取樣資料存放位置
- 奈奎斯特取樣定理
- Stable diffusion取樣器詳解
- STM32F3系列 ADC取樣單端取樣模式(基於LL庫)模式
- Python中的隨機取樣和概率分佈(一)Python隨機概率分佈
- Python中的隨機取樣和概率分佈(二)Python隨機概率分佈
- 就這樣獲取檔案的MD5和大小
- 取樣示波器和實時示波器的原理與各自優勢
- Javascript 怎樣獲取副檔名?JavaScript
- 怎樣高效的爬取資料?
- getComputedStyle()獲取樣式值
- Jquery獲取css中id和class樣式的動作-#id和.classjQueryCSS
- 第 15 章 CSS 文字樣式[上]CSS
- 檔案上傳按鈕樣式
- 怎樣在IIS下配置PHPPHP