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

  • 大小: 113KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-06
  • 語言: 其他
  • 標簽:

資源簡介

利用Opencv和libdmtx識別 datamatrx ECC200二維碼。可以識別旋轉的非標準二維碼。文件中包含了 libdmtx必需的鏈接庫和頭文件。

資源截圖

代碼片段和文件信息

#include?
#include?“dmtx.h“
#include?
using?namespace?std;
using?namespace?cv;

void?ImgCorrection(Mat?imageSource);

int?main()
{
DmtxMessage?*msg;
DmtxRegion?*reg;

Mat?src1?=?imread(“rotateImg.jpg“0);

imshow(“原圖“?src1);

ImgCorrection(src1);//執行該函數后,校正后的圖片保存在工目錄下

Mat?src?=?imread(“corrImge.jpg“);
imshow(“原圖校正后“?src);

if?(!src.data){
cout?< return?0;
}
cout?<
DmtxImage?*img;
img?=?dmtxImageCreate(src.data?src.cols?src.rows?DmtxPack24bppRGB);

DmtxDecode?*dec?=?dmtxDecodeCreate(img?1);

reg?=?dmtxRegionFindNext(dec?NULL);
if?(reg?!=?NULL)?{
msg?=?dmtxDecodeMatrixRegion(dec?reg?DmtxUndefined);
if?(msg?!=?NULL)?{
cout?<output?< dmtxMessageDestroy(&msg);
}
dmtxRegionDestroy(®);
}
dmtxDecodeDestroy(&dec);
dmtxImageDestroy(&img);
waitKey(0);

return?0;
}

//二維碼的校正函數
void?ImgCorrection(Mat?imageSource)
{
Mat?image;
imageSource.copyTo(image);
GaussianBlur(image?image?Size(3?3)?0);??//濾波??
threshold(image?image?100?255?CV_THRESH_BINARY);??//二值化??
imshow(“二值化“?image);
Mat?element?=?getStructuringElement(2?Size(7?7));??//膨脹腐蝕核??

dilate(image?image?element);

imshow(“膨脹“?image);

Mat?image1;
Laplacian(image?image1?image.depth()?1);//拉普拉斯變換尋找邊界
imshow(“邊界“?image1);

//尋找直線??
vectorlines;
HoughLines(image1?lines?1?CV_PI?/?150?60?0?0);
Mat?DrawLine?=?Mat::zeros(image1.size()?CV_8UC1);
//Mat?DrawLine?=?Mat::zeros(image1.size()?image1.type());
for?(int?i?=?0;?i {
float?rho?=?lines[i][0];
float?theta?=?lines[i][1];
Point?pt1?pt2;
double?a?=?cos(theta)?b?=?sin(theta);
double?x0?=?a*rho?y0?=?b*rho;
pt1.x?=?cvRound(x0?+?1000?*?(-b));
pt1.y?=?cvRound(y0?+?1000?*?a);
pt2.x?=?cvRound(x0?-?1000?*?(-b));
pt2.y?=?cvRound(y0?-?1000?*?a);
line(DrawLine?pt1?pt2?Scalar(255)?1?CV_AA);
}
imshow(“直線“?DrawLine);

Point2f?P1[4];
Point2f?P2[4];
vectorcorners;
goodFeaturesToTrack(DrawLine?corners?4?0.1?10?Mat());?//角點檢測??

cout?<
for?(int?i?=?0;?i {
circle(DrawLine?corners[i]?3?Scalar(255)?3);
P1[i]?=?corners[i];
cout?< }
imshow(“交點“?DrawLine);

P2[0]?=?Point2f(0?0);
P2[1]?=?Point2f(0?imageSource.rows);
P2[2]?=?Point2f(imageSource.cols?imageSource.rows);
P2[3]?=?Point2f(imageSource.cols?0);
Mat?elementTransf;
elementTransf?=?getAffineTransform(P1?P2);
warpAffine(imageSource?imageSource?elementTransf?imageSource.size()?1?0?Scalar(255));

imwrite(“corrImge.jpg“?imageSource);//校正后的圖片保存

}

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

?????文件??????23867??2017-09-01?19:17??libdmtxTest\libdmtxTest\corrImge.jpg

?????文件??????25214??2017-03-04?14:17??libdmtxTest\libdmtxTest\data_matrix_encode.jpg

?????文件??????21398??2011-08-22?03:48??libdmtxTest\libdmtxTest\dmtx.h

?????文件?????156672??2017-08-30?11:15??libdmtxTest\libdmtxTest\libdmtx.dll

?????文件??????17904??2017-08-30?11:15??libdmtxTest\libdmtxTest\libdmtx.lib

?????文件???????2908??2017-09-01?19:05??libdmtxTest\libdmtxTest\libdmtxTest.cpp

?????文件???????4256??2017-08-30?11:21??libdmtxTest\libdmtxTest\libdmtxTest.vcxproj

?????文件???????1069??2017-08-30?11:21??libdmtxTest\libdmtxTest\libdmtxTest.vcxproj.filters

?????文件??????15154??2017-08-30?16:13??libdmtxTest\libdmtxTest\rotateImg.jpg

?????文件????????979??2017-08-30?11:18??libdmtxTest\libdmtxTest.sln

????..A..H.?????22016??2017-09-01?19:17??libdmtxTest\libdmtxTest.v12.suo

?????目錄??????????0??2017-09-01?19:17??libdmtxTest\libdmtxTest

?????目錄??????????0??2017-09-01?19:17??libdmtxTest

-----------?---------??----------?-----??----

???????????????291437????????????????????13


評論

共有 條評論