国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

OpenCV中使用SVD分解與重構

2019-11-06 06:04:06
字體:
來源:轉載
供稿:網友
原文:http://www.cnblogs.com/didea/p/6044321.html

OpenCV中SVD分解函數compute

C++: static void SVD::compute(InputArray src, OutputArray w, OutputArray u, OutputArray vt, int flags=0 )    src – Decomposed matrix  w – Computed singular values  u – Computed left singular vectors  v – Computed right singular vectors  vt – Transposed matrix of right singular values  flags – Opertion flags - see SVD::SVD().  //參數分別為輸入圖像,輸出圖像,壓縮比例void SVDRESTRUCT(const cv::Mat &inputImg, cv::Mat &outputImg, double theratio){ cv::Mat tempt; cv::Mat U, W, V; inputImg.convertTo(tempt, CV_32FC1); cv::SVD::compute(tempt, W, U, V); cv::Mat w = Mat::zeros(Size(W.rows, W.rows), CV_32FC1); int len = theratio*W.rows; for (int i = 0; i < len; ++i) w.ptr<float>(i)[i] = W.ptr<float>(i)[0]; cv::Mat result = U*w*V; result.convertTo(outputImg, CV_8UC1);}int main(int argc, char* argv[]){ cv::Mat scrX = imread("2.jpg",0); cv::Mat resultm; SVDRESTRUCT(scrX, resultm,0.05); cv::imshow("1",resultm); waitKey(0); return 0;} SVD本身是個O(N^3)的算法,大數據處理比較慢。原圖如下:

原圖重構如下:

0.1壓縮如下:

0.01壓縮如下:

 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 贡觉县| 湖州市| 成武县| 固安县| 南陵县| 正定县| 陆丰市| 安义县| 青岛市| 岫岩| 灌南县| 和硕县| 长丰县| 吴桥县| 德阳市| 琼海市| 平山县| 大石桥市| 涟水县| 东乌珠穆沁旗| 江孜县| 扎兰屯市| 长沙县| 德江县| 东至县| 湘潭县| 晋江市| 静海县| 大埔县| 左权县| 中西区| 朝阳县| 仙居县| 施秉县| 武胜县| 鲜城| 马龙县| 诸城市| 嘉定区| 富阳市| 开化县|