资源简介
一个实现石头剪刀布的小程序,基于opencv,在vs2010和opencv2.4.4下可以完美运行。

代码片段和文件信息
// @Author:onezeros@yahoo.cn
// @Date:10/8/2010
//abstract features:width/height white pixels ratio
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
void featrue(IplImage* imgfloat& widHeiRatiofloat& whitePixelRatio)
{
assert(img->nChannels==1);
unsigned long whitePixelNum=0;
int top=img->height;
int bottom=-1;
int right=0;
for (int w=0;wwidth;w++){
bool isBlack=true;
int b=-1;
int t=-1;
unsigned char* pline=(unsigned char*)(img->imageData);
for (int h=0;hheight;h++pline+=img->widthStep){
if (*(pline+w)>100){
isBlack=false;
whitePixelNum++;
if (t<0){
t=h;
b=h;
}else{
b=h;
}
}
}
if (isBlack){
break;
}
if (top>t){
top=t;
}
if (bottom bottom=b;
}
right=w;
}
widHeiRatio=(float)right/(bottom-top);
whitePixelRatio=(float)whitePixelNum/right/(bottom-top);
}
int main( int argc char** argv )
{
IplImage* pImg;
char strBuff[3][100];
fstream filefeature1(“feature-widthHeight.txt“ios::out);
fstream filefeature2(“feature-whiteRatio.txt“ios::out);
float widHeiRatio=0;
float whiteRatio=0;
for(int counter=0;counter<100;counter++){
sprintf(strBuff[0]“images-train/stone-%03d.bmp“counter);
sprintf(strBuff[1]“images-train/scissors-%03d.bmp“counter);
sprintf(strBuff[2]“images-train/cloth-%03d.bmp“counter);
for (int i=0;i<3;i++){
pImg=cvLoadImage(strBuff[i]CV_LOAD_IMAGE_GRAYSCALE);
if (pImg==NULL){
cout<<“error happened while loading image:“< cvWaitKey(0);
}
featrue(pImgwidHeiRatiowhiteRatio);
cvReleaseImage(&pImg);
filefeature1< filefeature2< cout< }
filefeature1< filefeature2<
}
filefeature1.close();
filefeature2.close();
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-11-12 21:56 opencv实现的手势识别,石头剪刀布的实现\
目录 0 2013-11-21 23:00 opencv实现的手势识别,石头剪刀布的实现\StoneScissorsCloth\
目录 0 2013-11-21 22:48 opencv实现的手势识别,石头剪刀布的实现\StoneScissorsCloth\Release\
文件 41068 2013-11-19 21:44 opencv实现的手势识别,石头剪刀布的实现\StoneScissorsCloth\Release\CL.read.1.tlog
文件 1448 2013-11-19 21:44 opencv实现的手势识别,石头剪刀布的实现\StoneScissorsCloth\Release\CL.write.1.tlog
文件 26624 2013-11-21 22:38 opencv实现的手势识别,石头剪刀布的实现\StoneScissorsCloth\Release\StoneScissorsCloth.exe
文件 381 2013-11-21 22:38 opencv实现的手势识别,石头剪刀布的实现\StoneScissorsCloth\Release\StoneScissorsCloth.exe.intermediate.manifest
文件 150 2013-11-21 22:48 opencv实现的手势识别,石头剪刀布的实现\StoneScissorsCloth\Release\StoneScissorsCloth.lastbuildstate
文件 1218 2013-11-21 22:48 opencv实现的手势识别,石头剪刀布的实现\StoneScissorsCloth\Release\StoneScissorsCloth.log
文件 1027072 2013-11-21 22:38 opencv实现的手势识别,石头剪刀布的实现\StoneScissorsCloth\Release\StoneScissorsCloth.pdb
文件 1320 2013-11-19 15:36 opencv实现的手势识别,石头剪刀布的实现\StoneScissorsCloth\Release\StoneScissorsCloth.res
文件 1745641 2013-11-19 21:44 opencv实现的手势识别,石头剪刀布的实现\StoneScissorsCloth\Release\StoneScissorsCloth_recognize.obj
文件 1910 2013-11-19 21:44 opencv实现的手势识别,石头剪刀布的实现\StoneScissorsCloth\Release\cl.command.1.tlog
文件 2 2013-11-21 22:38 opencv实现的手势识别,石头剪刀布的实现\StoneScissorsCloth\Release\li
文件 2 2013-11-21 22:38 opencv实现的手势识别,石头剪刀布的实现\StoneScissorsCloth\Release\li
文件 5674 2013-11-21 22:38 opencv实现的手势识别,石头剪刀布的实现\StoneScissorsCloth\Release\li
文件 8166 2013-11-21 22:38 opencv实现的手势识别,石头剪刀布的实现\StoneScissorsCloth\Release\li
文件 1236 2013-11-21 22:38 opencv实现的手势识别,石头剪刀布的实现\StoneScissorsCloth\Release\li
文件 718 2013-11-21 22:38 opencv实现的手势识别,石头剪刀布的实现\StoneScissorsCloth\Release\mt.command.1.tlog
文件 1632 2013-11-21 22:38 opencv实现的手势识别,石头剪刀布的实现\StoneScissorsCloth\Release\mt.read.1.tlog
文件 516 2013-11-21 22:38 opencv实现的手势识别,石头剪刀布的实现\StoneScissorsCloth\Release\mt.write.1.tlog
文件 1610 2013-11-19 15:36 opencv实现的手势识别,石头剪刀布的实现\StoneScissorsCloth\Release\rc.command.1.tlog
文件 5576 2013-11-19 15:36 opencv实现的手势识别,石头剪刀布的实现\StoneScissorsCloth\Release\rc.read.1.tlog
文件 934 2013-11-19 15:36 opencv实现的手势识别,石头剪刀布的实现\StoneScissorsCloth\Release\rc.write.1.tlog
文件 765952 2013-11-19 21:44 opencv实现的手势识别,石头剪刀布的实现\StoneScissorsCloth\Release\vc100.pdb
文件 823548 2010-10-10 08:22 opencv实现的手势识别,石头剪刀布的实现\StoneScissorsCloth\StoneScissorsCloth-images.zip
文件 19532 2013-11-20 09:57 opencv实现的手势识别,石头剪刀布的实现\StoneScissorsCloth\StoneScissorsCloth.aps
文件 1964 2010-10-08 21:19 opencv实现的手势识别,石头剪刀布的实现\StoneScissorsCloth\StoneScissorsCloth.rc
文件 13979648 2013-11-21 23:01 opencv实现的手势识别,石头剪刀布的实现\StoneScissorsCloth\StoneScissorsCloth.sdf
文件 902 2013-11-19 11:05 opencv实现的手势识别,石头剪刀布的实现\StoneScissorsCloth\StoneScissorsCloth.sln
文件 30208 2013-11-21 23:00 opencv实现的手势识别,石头剪刀布的实现\StoneScissorsCloth\StoneScissorsCloth.suo
............此处省略30个文件信息
相关资源
- 基于OpenCV的数字识别468815
- 使用opencv去掉二值化图像中黑色面积
- opencv环境配置
- win10 64位下编译的opencv4.5.5库,opencv
- NVIDIAOpticalFlowSDK-79c6cee80a2df9a196f20afd6
- opencv_contrib-3.4.0.zip
- opencv2.4.9源码分析——SIFT
- 基于CNN的静态手势识别系统
- 用两个摄像头实现,双目标定,双目
- opencv_traincascade训练分类器,手势识别
- opencv3.0交叉编译用parallel.cpp
- 基于opencv的图像识别识别图像中的色
- 基于openCV的识别特定颜色区域
- 基于OpenCV的分水岭算法实现
- QT+opencv+OCR 身份证号码,银行卡号识别
- opencv视频特定颜色区域识别
- 把RGB转换为HSV和HSI然后根据黄色和蓝
- opencv视觉测距
- 基于Qt和opencv的身份证号码识别系统
- opencv_ffmpeg249.dll
- SfM稀疏三维点云重建--完整工程文件
- 基于opencv的数人头程序源代码
- 利用OpenCV中的Stitcher类实现全景图像拼
- 自己玩的动态手势识别系统
- opencv实现的sift算法源码,包含了图像
- openCV 上的小波变换
- 基于OPENCV的车牌识别系统设计
- 617张国内车牌60-17bmp图片用于OpenCV正样
- hog特征提取,c版本代码
- 基于Qt5.8+OpenCV3.2的Basler多相机触发开
评论
共有 条评论