91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 38.31MB
    文件類型: .rar
    金幣: 1
    下載: 0 次
    發布日期: 2023-06-30
  • 語言: 其他
  • 標簽:

資源簡介

基于opencv的直方圖均衡只能處理8位的圖像,但是有時候我們接受的高分辨率的圖像不是8位,是16位或者更高的圖像。 這個代碼實現了基于16位單通道圖像的直方圖均衡。如果想換成32位的,可以在此段代碼的基礎上進行更改,只需要更改灰度變換的代碼部分即可。

資源截圖

代碼片段和文件信息

#include
#include?
#include?
#include?


using?namespace?std;
using?namespace?cv;


void?EqualizeHist(Mat&??Mat&?intint);
void?EqualizeHist_Map(Mat&Mat&?intint);
void?EqualizeHist_Array(Mat&?Mat&?intint);


int?main()?{

Mat?src?=?imread(“D:/test/44.jpg“?0);
//8位直方圖均衡對比
Mat?dst?=?src.clone();
Mat?dst2?=?src.clone();
Mat?dst3?=?src.clone();
Mat?dst4?=?src.clone();



clock_t?start4?ends4;
start4?=?clock();
equalizeHist(src?dst4);
ends4?=?clock();
cout?<
clock_t?start?ends;
start?=?clock();
EqualizeHist(src?dst2568);
ends?=?clock();
cout?<

clock_t?start2?ends2;
start2?=?clock();
EqualizeHist_Map(src?dst2?256?8);
ends2?=?clock();
cout?<<“Map結構:?“?<<(double)(ends2?-?start2?)/?CLOCKS_PER_SEC?<

clock_t?start3?ends3;
start3?=?clock();
EqualizeHist_Array(src?dst3?256?8);
ends3?=?clock();
cout?<<“Array優化:“<

/*16位單通道直方圖均衡
??將16位的直方圖均衡化成8位的圖進行顯示
??將65536內的像素值歸一化到256的像素值內
*/
//Mat?dst5?=?Mat(src.rowssrc.rowsCV_8UC1);
//EqualizeHist_Array(src?dst6553616);



imshow(“原圖“?src);
imshow(“自帶“?dst4);
imshow(“6步“?dst);
imshow(“map“?dst2);
imshow(“數組“?dst3);


waitKey(0);
return?0;


}
//?數組直方圖均衡化
void?EqualizeHist(Mat&?src?Mat&?dst?int?graylevel?int?dataBit)
{

//第1步:計算原始圖像的像素總個數
int?ss?=?src.cols?*?src.rows;
if?(!src.data)
{
return;
}

//第2步:計算圖像的直方圖,即計算出每一取值范圍內的像素值個數
int*?mp?=?new?int[graylevel];
memset(mp?0?sizeof(int)?*?graylevel);//初始化
for?(size_t?i?=?0;?i? {
uchar*?ptr?=?src.ptr(i);
for?(size_t?j?=?0;?j? {
int?value?=?ptr[j];
mp[value]++;
}
}


//第3步:計算灰度分布頻率+灰度累加分布頻率+重新計算均衡化后的灰度值,四舍五入
double*?valuePro?=?new?double[graylevel];
memset(valuePro?0?sizeof(double)?*?graylevel);//初始化??一定要記住
for?(size_t?i?=?0;?i? {
valuePro[i]?=?((double)mp[i]?/?ss);
}

//第四步:計算灰度累計分布頻率
for?(size_t?i?=?1;?i? {
valuePro[i]?=?valuePro[i?-?1]?+?valuePro[i];
}

//第五步:重新計算均衡化后的灰度值,四舍五入。參考公式:(N-1)*T+0.5
for?(size_t?i?=?0;?i? {
mp[i]?=?(uchar)(255?*?valuePro[i]?+?0.5);
}

//第6步:灰度變換
if?(dataBit?==?8)
{
for?(size_t?i?=?0;?i? {
uchar*?pSrc?=?src.ptr(i);
uchar*?pDst?=?dst.ptr(i);
for?(size_t?j?=?0;?j? {
pDst[j]?=?mp[pSrc[j]];
}
}
}
else?if(dataBit==16){
//第四步:灰度變換
for?(size_t?i?=?0;?i? {
unsigned?short*?pSrc?=?src.ptr(i);
uchar*?pDst?=?dst.ptr(i);
for?(size_t?j?=?0;?j? {
pDst[j]?=?mp[pSrc[j]];
}
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????44297??2020-09-10?16:49??直方圖均衡(支持單通道16位和8位圖像)\44.jpg

?????文件?????537005??2020-09-10?16:51??直方圖均衡(支持單通道16位和8位圖像)\8位直方圖均衡.png

????..A..H.?????45568??2020-09-10?16:52??直方圖均衡(支持單通道16位和8位圖像)\Project1\.vs\Project1\v16\.suo

?????文件???45010944??2020-09-10?16:52??直方圖均衡(支持單通道16位和8位圖像)\Project1\.vs\Project1\v16\Browse.VC.db

?????文件??153681920??2020-09-10?15:45??直方圖均衡(支持單通道16位和8位圖像)\Project1\.vs\Project1\v16\ipch\AutoPCH\aa648e9605550ee5\源.ipch

?????文件???32964608??2020-09-07?15:12??直方圖均衡(支持單通道16位和8位圖像)\Project1\.vs\Project1\v16\ipch\AutoPCH\d164b26aedc4c422\源.ipch

?????文件????????543??2020-09-10?15:54??直方圖均衡(支持單通道16位和8位圖像)\Project1\.vs\Project1\v16\TestStore\0\000.testlog

?????文件?????????24??2020-09-07?16:56??直方圖均衡(支持單通道16位和8位圖像)\Project1\.vs\Project1\v16\TestStore\0\testlog.manifest

?????文件???????7215??2020-09-07?15:14??直方圖均衡(支持單通道16位和8位圖像)\Project1\Project1\Project1.vcxproj

?????文件????????956??2020-09-07?15:14??直方圖均衡(支持單通道16位和8位圖像)\Project1\Project1\Project1.vcxproj.filters

?????文件????????168??2020-09-07?15:11??直方圖均衡(支持單通道16位和8位圖像)\Project1\Project1\Project1.vcxproj.user

?????文件????????732??2020-09-10?15:52??直方圖均衡(支持單通道16位和8位圖像)\Project1\Project1\x64\Debug\Project1.Build.CppClean.log

?????文件???????3043??2020-09-10?16:48??直方圖均衡(支持單通道16位和8位圖像)\Project1\Project1\x64\Debug\Project1.log

?????文件????????644??2020-09-10?16:48??直方圖均衡(支持單通道16位和8位圖像)\Project1\Project1\x64\Debug\Project1.tlog\CL.command.1.tlog

?????文件??????51762??2020-09-10?16:48??直方圖均衡(支持單通道16位和8位圖像)\Project1\Project1\x64\Debug\Project1.tlog\CL.read.1.tlog

?????文件????????384??2020-09-10?16:48??直方圖均衡(支持單通道16位和8位圖像)\Project1\Project1\x64\Debug\Project1.tlog\CL.write.1.tlog

?????文件???????1134??2020-09-10?16:48??直方圖均衡(支持單通道16位和8位圖像)\Project1\Project1\x64\Debug\Project1.tlog\link.command.1.tlog

?????文件???????2640??2020-09-10?16:48??直方圖均衡(支持單通道16位和8位圖像)\Project1\Project1\x64\Debug\Project1.tlog\link.read.1.tlog

?????文件????????376??2020-09-10?16:48??直方圖均衡(支持單通道16位和8位圖像)\Project1\Project1\x64\Debug\Project1.tlog\link.write.1.tlog

?????文件????????151??2020-09-10?16:48??直方圖均衡(支持單通道16位和8位圖像)\Project1\Project1\x64\Debug\Project1.tlog\Project1.lastbuildstate

?????文件??????????0??2020-09-10?15:52??直方圖均衡(支持單通道16位和8位圖像)\Project1\Project1\x64\Debug\Project1.vcxproj.FileListAbsolute.txt

?????文件?????535552??2020-09-10?16:48??直方圖均衡(支持單通道16位和8位圖像)\Project1\Project1\x64\Debug\vc142.idb

?????文件????1953792??2020-09-10?16:48??直方圖均衡(支持單通道16位和8位圖像)\Project1\Project1\x64\Debug\vc142.pdb

?????文件?????920538??2020-09-10?16:48??直方圖均衡(支持單通道16位和8位圖像)\Project1\Project1\x64\Debug\源.obj

?????文件???????6498??2020-09-10?16:52??直方圖均衡(支持單通道16位和8位圖像)\Project1\Project1\源.cpp

?????文件???????1445??2020-09-07?15:11??直方圖均衡(支持單通道16位和8位圖像)\Project1\Project1.sln

?????文件?????194560??2020-09-10?16:48??直方圖均衡(支持單通道16位和8位圖像)\Project1\x64\Debug\Project1.exe

?????文件????3837512??2020-09-10?16:48??直方圖均衡(支持單通道16位和8位圖像)\Project1\x64\Debug\Project1.ilk

?????文件????2084864??2020-09-10?16:48??直方圖均衡(支持單通道16位和8位圖像)\Project1\x64\Debug\Project1.pdb

?????目錄??????????0??2020-09-10?16:57??直方圖均衡(支持單通道16位和8位圖像)\Project1\.vs\Project1\v16\ipch\AutoPCH\aa648e9605550ee5

............此處省略19個文件信息

評論

共有 條評論

相關資源