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

  • 大小: 14.29MB
    文件類型: .zip
    金幣: 1
    下載: 0 次
    發布日期: 2023-07-22
  • 語言: 其他
  • 標簽: OpenCV??SVM多分類??

資源簡介

使用VS2013+OpenCV2.4.10提取手勢傅里葉描述子特征使用SVM離線識別手勢圖片

資源截圖

代碼片段和文件信息


#include?
#include?“opencv2/opencv.hpp“
#include?“windows.h“
#include?“fstream“
#include?“assert.h“?
#include?

using?namespace?std;
using?namespace?cv;
/***求傅里葉描述子特征***/
float?Pi?=?3.1415926;
void?EllipticFourierDescriptor(vector?&contour?vector?&CE)
{
vector?ax?bx?ay?by;
int?m?=?contour.size();
int?n?=?20;
float?t?=?(2?*?Pi)?/?m;
for?(int?k?=?0;?k {
ax.push_back(0.0);
bx.push_back(0.0);
ay.push_back(0.0);
by.push_back(0.0);
for?(int?i?=?0;?i {
ax[k]?=?ax[k]?+?contour[i].x*cos((k?+?1)*t*i);
bx[k]?=?bx[k]?+?contour[i].x*sin((k?+?1)*t*i);
ay[k]?=?ay[k]?+?contour[i].y*cos((k?+?1)*t*i);
by[k]?=?by[k]?+?contour[i].y*sin((k?+?1)*t*i);
}
ax[k]?=?ax[k]?/?m;
bx[k]?=?bx[k]?/?m;
ay[k]?=?ay[k]?/?m;
by[k]?=?by[k]?/?m;
}

for?(int?k?=?1;?k {
float?value?=?(float)sqrt((ax[k]?*?ax[k]?+?ay[k]?*?ay[k])?/?(ax[0]?*?ax[0]?+?ay[0]?*?ay[0]))?+?sqrt((bx[k]?*?bx[k]?+?by[k]?*?by[k])?/?(bx[0]?*?bx[0]?+?by[0]?*?by[0]));
CE.push_back(value);

}
for?(int?count?=?0;?count {
cout?< }
}
int?_tmain(int?argc?_TCHAR*?argv[])
{
vector?img_path;//圖像路徑容器??
vector?img_catg;//圖像類別容器
int?nLine?=?0;
string?buf;
ifstream?svm_data(“C:\\Users\\MelonH\\Desktop\\樣本2\\新建文件夾\\手勢路徑.txt“);//訓練樣本圖片的路徑都寫在這個txt文件中,使用bat批處理文件可以得到這個txt文件?
if?(!svm_data)
return?1;
unsigned?long?n;
while?(svm_data)//將訓練樣本文件依次讀取進來????
{
if?(getline(svm_data?buf))
{
nLine++;
if?(nLine?%?2?==?0)//注:奇數行是圖片全路徑,偶數行是標簽?
{
img_catg.push_back(atoi(buf.c_str()));//atoi將字符串轉換成整型,標志(01,2,...,9),注意這里至少要有兩個類別,否則會出錯????
}
else
{
img_path.push_back(buf);//圖像路徑????
}
}
}
svm_data.close();//關閉文件????
CvMat?*data_mat?*res_mat;
int?nImgNum?=?nLine?/?2;?//nImgNum是樣本數量,只有文本行數的一半,另一半是標簽?????
data_mat?=?cvCreateMat(nImgNum?20?CV_32FC1);??//第二個參數,即矩陣的列是由下面的descriptors的大小決定的,可以由descriptors.size()得到,且對于不同大小的輸入訓練圖片,這個值是不同的??
cvSetZero(data_mat);
//類型矩陣存儲每個樣本的類型標志????
res_mat?=?cvCreateMat(nImgNum?1?CV_32FC1);
cvSetZero(res_mat);
IplImage*?src;
IplImage*?trainImg?=?cvCreateImage(cvSize(32?24)?8?3);//需要分析的圖片,這里手勢的圖片尺寸都為32*24,如果要更改圖片大小,可以先用debug查看一下descriptors是多少,然后設定好再運行????
Mat?image;
for?(string::size_type?i?=?0;?i?!=?img_path.size();?i++)
{
image?=?imread(img_path[i].c_str()?1);
if?(image.empty())
{
cout?< continue;
}

Mat?gray?=?Mat::zeros(image.size()?CV_8UC1);
cvtColor(image?gray?CV_BGR2GRAY);
Canny(gray?gray?128?255?3);
Mat?element?=?getStructuringElement(MORPH_RECT?Size(2?2));?//第一個參數MORPH_RECT表示矩形的卷積核,當然還可以選擇橢圓形的、交叉型的
//高級形態學處理,調用這個函數就可以了,具體要選擇哪種操作,就修改第三個參數就可以了。這里演示的是形態學梯度處理
morphologyEx(gray?gray?MORPH_CLO

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-05-12?17:13??svm+?Fourier\
?????目錄???????????0??2018-05-12?17:11??svm+?Fourier\Debug\
?????文件??????172032??2018-04-06?04:33??svm+?Fourier\Debug\svm+hog.exe
?????文件?????1709180??2018-04-06?04:33??svm+?Fourier\Debug\svm+hog.ilk
?????文件?????4992000??2018-04-06?04:33??svm+?Fourier\Debug\svm+hog.pdb
?????文件??????156992??2018-05-12?12:41??svm+?Fourier\readme.docx
?????目錄???????????0??2018-05-12?17:13??svm+?Fourier\svm+hog\
?????目錄???????????0??2018-05-12?17:11??svm+?Fourier\svm+hog\Debug\
?????文件????????2571??2016-06-01?11:24??svm+?Fourier\svm+hog\Debug\recognition.obj
?????文件????????4009??2018-04-06?04:33??svm+?Fourier\svm+hog\Debug\svm+hog.log
?????目錄???????????0??2018-05-12?17:11??svm+?Fourier\svm+hog\Debug\svm+hog.tlog\
?????文件???????69618??2018-04-06?04:33??svm+?Fourier\svm+hog\Debug\svm+hog.tlog\CL.read.1.tlog
?????文件????????1046??2018-04-06?04:33??svm+?Fourier\svm+hog\Debug\svm+hog.tlog\CL.write.1.tlog
?????文件????????7430??2018-04-06?04:33??svm+?Fourier\svm+hog\Debug\svm+hog.tlog\cl.command.1.tlog
?????文件???????20654??2018-04-06?04:33??svm+?Fourier\svm+hog\Debug\svm+hog.tlog\link.command.1.tlog
?????文件???????12334??2018-04-06?04:33??svm+?Fourier\svm+hog\Debug\svm+hog.tlog\link.read.1.tlog
?????文件?????????998??2018-04-06?04:33??svm+?Fourier\svm+hog\Debug\svm+hog.tlog\link.write.1.tlog
?????文件?????????195??2018-04-06?04:33??svm+?Fourier\svm+hog\Debug\svm+hog.tlog\svm+hog.lastbuildstate
?????文件??????702042??2018-04-06?04:33??svm+?Fourier\svm+hog\Debug\train.obj
?????文件?????2599936??2018-04-06?04:33??svm+?Fourier\svm+hog\Debug\vc120.idb
?????文件?????1576960??2018-04-06?04:33??svm+?Fourier\svm+hog\Debug\vc120.pdb
?????文件?????5954171??2018-04-06?04:40??svm+?Fourier\svm+hog\HOG_SVM_LOGO.xml
?????文件??????423737??2018-04-06?04:42??svm+?Fourier\svm+hog\SVM_PREDICT.txt
?????文件????????5281??2018-03-21?18:05??svm+?Fourier\svm+hog\svm+hog.vcxproj
?????文件?????????949??2016-12-21?16:30??svm+?Fourier\svm+hog\svm+hog.vcxproj.filters
?????文件?????????165??2016-06-17?23:58??svm+?Fourier\svm+hog\svm+hog.vcxproj.user
?????文件???????10598??2018-05-12?17:13??svm+?Fourier\svm+hog\train.cpp
?????文件????38928384??2018-05-12?17:13??svm+?Fourier\svm+hog.sdf
?????文件?????????967??2016-06-01?09:22??svm+?Fourier\svm+hog.sln
?????文件???????40448??2018-05-12?17:13??svm+?Fourier\svm+hog.v12.suo

評論

共有 條評論