91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

opencv3/C++ 離散余弦變換DCT方式

發布時間:2020-09-01 17:30:06 來源:腳本之家 閱讀:590 作者:阿卡蒂奧 欄目:編程語言

離散余弦變換/Discrete cosine transform,

根據離散傅里葉變換的性質,實偶函數的傅里葉變換只含實的余弦項,而數字圖像都是實數矩陣,因此構造了一種實數域的變換——離散余弦變換(DCT)。

離散余弦變換具有很強的”能量集中”特性,左上方稱為低頻數據,右下方稱為高頻數據。而大多數的自然信號(包括聲音和圖像)的能量都集中在離散余弦變換后的低頻部分。因此也可以在圖像壓縮算法中用來進行有損壓縮。(如JPEG壓縮編碼)

OpenCV中dct()

在OpenCV中有專門進行離散余弦變換的函數dct()。

dct()函數執行1D或2D浮點數組的正向或反向離散余弦變換(DCT):

N個元素的一維向量的正余弦變換:

opencv3/C++ 離散余弦變換DCT方式

該函數通過查看輸入數組的標志和大小來選擇操作模式:

如果(flags&DCT_INVERSE)== 0,則函數執行向前的1D或2D變換。否則是一個逆1D或2D變換。

如果(flags&DCT_ROWS)!= 0,則函數執行每行的一維變換。

如果數組是單列或單行,則該函數執行一維變換。

如果以上都不是,則該函數執行2D變換。

目前dct支持偶數大小的數組(2,4,6 …)。對于數據分析和逼近,可以在必要時填充數組。另外,函數性能對數組大小的依賴性非常大,而不是單調的。在當前實現中,大小為N的矢量的DCT通過大小為N / 2的矢量的DFT來計算。因此,最佳DCT大小N1 > = N可以計算為:

size_t getOptimalDCTSize(size_t N){return 2 * getOptimalDFTSize((N + 1)/ 2); }
N1 = getOptimalDCTSize(N);

dct()參數

src 輸入浮點數組。

dst 輸出與src大小和類型相同的數組。

flags 轉換標志

opencv示例

#include <opencv2\opencv.hpp> 
#include <opencv2\core\core.hpp>
#include <opencv2\core\mat.hpp>
#include <iostream> 
using namespace std; 
using namespace cv; 
int main()
{
 Mat src = imread("E:\\image\\sophie.jpg", 0); 
 if(src.empty())
 {
  cout << "the image is not exist" << endl; 
  return -1;
 }
 resize(src, src, Size(512, 512));
 src.convertTo(src, CV_32F, 1.0/255);
 Mat srcDCT; 
 dct(src, srcDCT);

 imshow("src", src);
 imshow("dct", srcDCT);
 waitKey();
 return 0;
}

可以看到因為第一幅圖像的細節較少,因此DFT變換數據主要集中在左上方(低頻區域),高頻區域大部分為0:

opencv3/C++ 離散余弦變換DCT方式

opencv3/C++ 離散余弦變換DCT方式

而第二幅圖像相對而言具有較為豐富的細節,因此相對于第一幅圖像中間區域出現了大量的非0值:

opencv3/C++ 離散余弦變換DCT方式

opencv3/C++ 離散余弦變換DCT方式

以上這篇opencv3/C++ 離散余弦變換DCT方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

错那县| 静乐县| 大兴区| 高密市| 瓦房店市| 丰城市| 涟水县| 赣榆县| 九台市| 南皮县| 开江县| 靖江市| 观塘区| 湖北省| 四川省| 依安县| 民权县| 曲周县| 靖江市| 微山县| 罗江县| 长顺县| 榆林市| 石河子市| 青浦区| 遂溪县| 沅陵县| 兴文县| 安乡县| 叙永县| 英山县| 绥中县| 达日县| 山丹县| 三门峡市| 随州市| 怀仁县| 米泉市| 建瓯市| 维西| 商水县|