资源简介
opencv的单目标定API已经二次封装,内部有使用和说明文档方便使用和学习
代码片段和文件信息
#include “ANN.h“
JY_ANN::JY_ANN()
{
//JY_Class = 0;
}
JY_ANN::JY_ANN(unsigned long Samples unsigned short Class unsigned int Dims)
{
}
JY_ANN::~JY_ANN()
{
}
/********************* JY_ANN *****************************
函 数 名:LoadLabes
功 能:学习监督数组进行装载,每一行对应一个图片
参 数:NClass——图片分类标志
NSamples——装载量
LabesDatas——装载数组
AllClass——图片总类别
BSamples——装载起始位
返 回 值:void
备 注:
*************************************************************/
void JY_ANN::LoadLabes(unsigned short NClass unsigned long NSamples int* LabesDatas unsigned int AllClass unsigned long BSamples)
{
unsigned long Samples = NSamples + BSamples;
for (long i = BSamples; i < Samples; i++)
*(LabesDatas + i * 9 + NClass) = 1;
}
/********************* JY_ANN *****************************
函 数 名:LoadImage
功 能:装载训练库
参 数: AllSamples——装载图片总量
TrainDatas——装载训练数组
nPix——装载像素量
DirName——装载文件夹名称
CoreMode——训练内核
CoreSize——训练内核大小
返 回 值:void
备 注:
*************************************************************/
bool JY_ANN::LoadImage(unsigned long AllSamples int* TrainDatas int nPix string DirName int CoreMode int CoreSize)
{
string dir_path = DirName;
Directory dir;
vector fileNames = dir.GetListFiles(dir_path “*.jpg“ false);
for (uint64 i = 0; i < fileNames.size(); i++)
{
int pix = 0;
//get image name
string fileName = fileNames[i];
string fileFullName = dir_path + fileName;
//load image and image bw
Mat srcImg = imread(fileFullName.c_str());
cvtColor(srcImg srcImg CV_BGR2GRAY);
threshold(srcImg srcImg 0 255 THRESH_BINARY | CV_THRESH_OTSU);
cout << CoreMode << “ to “<< fileFullName << endl;
convolution(fileFullName.c_str() (TrainDatas + i * nPix) CoreMode CoreSize);
}
return 0;
}
/********************* JY_ANN *****************************
函 数 名:convolution
功 能:卷积运算函数
参 数:
返 回 值:void
备 注:
*************************************************************/
void JY_ANN::convolution(string ImageName int* OutputDatas int CoreMode int CoreSize)
{
Mat srcImg = imread(ImageName);
cvtColor(srcImg srcImg CV_BGR2GRAY); //图像灰度化
threshold(srcImg srcImg 0 255 THRESH_BINARY | CV_THRESH_OTSU); //图像二值化
uchar* pxvec;
int pix = 0;
if (CoreMode == 0)
{
for (int k = 0; k < srcImg.rows; k++)
{
pxvec = srcImg.ptr(k); //读取图片行数据
for (int j = 0; j < srcImg.cols; j++)
{
*(OutputDatas + (pix++)) = pxvec[j] / 255; //
}
}
}
else //CoreMode != 0 系统执行卷积计算
{
/********************建立缓存数组****************/
int** Train;
Train = new int *[srcImg.rows];
for (int i = 0; i < srcImg.rows; i++)
Train[i] = new int[srcImg.cols];
/*********************装载图片数据到缓存数组******/
for (int k = 0; k < srcImg.rows; k++)
{
pxvec = srcImg.ptr(k);
for (int j = 0; j < srcImg.cols; j++)
Train[k][j] = pxvec[j] / 255;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 0 2018-08-16 17:15 readme.txt
目录 0 2018-08-16 17:14 01OneCamre\
目录 0 2018-08-16 17:14 01OneCamre\.vs\
目录 0 2018-08-16 17:14 01OneCamre\.vs\Build_ANN\
目录 0 2018-08-16 17:14 01OneCamre\.vs\Build_ANN\v14\
文件 51200 2018-08-16 17:14 01OneCamre\.vs\Build_ANN\v14\.suo
目录 0 2018-08-16 17:14 01OneCamre\Build_ANN\
文件 5411 2018-07-20 16:00 01OneCamre\Build_ANN\ANN.cpp
文件 721 2018-07-20 14:05 01OneCamre\Build_ANN\ANN.h
文件 2547640 2018-07-20 15:32 01OneCamre\Build_ANN\ANN.xm
文件 9976 2018-08-07 15:09 01OneCamre\Build_ANN\Build_ANN.vcxproj
文件 1430 2018-08-07 15:09 01OneCamre\Build_ANN\Build_ANN.vcxproj.filters
文件 165 2018-07-20 11:29 01OneCamre\Build_ANN\Build_ANN.vcxproj.user
文件 238 2018-08-07 17:04 01OneCamre\Build_ANN\Camera.txt
文件 549 2018-08-07 17:04 01OneCamre\Build_ANN\Camera.xm
文件 6117 2018-08-16 15:45 01OneCamre\Build_ANN\CameraCalibrate.cpp
文件 1830 2018-08-16 15:45 01OneCamre\Build_ANN\CameraCalibrate.h
文件 490 2018-08-07 17:04 01OneCamre\Build_ANN\CameraRES.txt
目录 0 2018-08-16 17:14 01OneCamre\Build_ANN\Debug\
文件 306026 2018-07-20 18:02 01OneCamre\Build_ANN\Debug\ANN.obj
文件 1069 2018-07-20 18:02 01OneCamre\Build_ANN\Debug\Build_ANN.log
目录 0 2018-08-16 17:14 01OneCamre\Build_ANN\Debug\Build_ANN.tlog\
文件 201 2018-07-20 18:02 01OneCamre\Build_ANN\Debug\Build_ANN.tlog\Build_ANN.lastbuildstate
文件 3666 2018-07-20 18:02 01OneCamre\Build_ANN\Debug\Build_ANN.tlog\CL.command.1.tlog
文件 110642 2018-07-20 18:02 01OneCamre\Build_ANN\Debug\Build_ANN.tlog\CL.read.1.tlog
文件 3744 2018-07-20 18:02 01OneCamre\Build_ANN\Debug\Build_ANN.tlog\CL.write.1.tlog
文件 6442 2018-07-20 18:02 01OneCamre\Build_ANN\Debug\Build_ANN.tlog\li
文件 15462 2018-07-20 18:02 01OneCamre\Build_ANN\Debug\Build_ANN.tlog\li
文件 1486 2018-07-20 18:02 01OneCamre\Build_ANN\Debug\Build_ANN.tlog\li
文件 306598 2018-07-20 12:19 01OneCamre\Build_ANN\Debug\ann.obj.enc
文件 368159 2018-07-20 18:02 01OneCamre\Build_ANN\Debug\main.obj
............此处省略73个文件信息
相关资源
- opencv_install
- 基于OpenCV的运动物体方向识别论文
- 基于Hough椭圆检测opencv
- 抠图代码opencv
- 基于opencv的鱼眼相机标定和透视投影
- MinGW编译的opencv3.2
- 基于 vs2010 opencv的人脸识别系统
- 鱼眼标定校正 opencv3.0 视场大小可调
- opencv 鱼眼镜头标定校正
- Qt5.9.3+mingw530_32+OpenCV3.4.1工程模版
- OpenCV计算机视觉编程攻略第3版完整高
- 应用opencv zbar 解析二维码图片
- 基于OpenCV的车牌识别一整套
- opencv3.4.1+contrib编译好的install文件vs
- 浅墨的opencv学习代码,有注释,前十
- OpenCV3.2对应的opencv_ffmpeg
- 相机标定和鸟瞰图生成_vs2017.rar
- opencv4.0.1+contrib+vs2017_x64
- OpenCv-4 Mingw(32bit)编译生成库包
- DNN模型所需要的三个文件- bvlc_google
- 学习OpenCV中文版书签版以及随书源码
- OpenCV练习12-用滚动条移动图片.zip
- 安卓opencv实现多人检测,人脸检测,
- OpenCV 3.42 for Qt 5编译好的库
- Windows环境下供Qt使用的OpenCV库 (已经
- opencv_ffmpeg.rar
- 基于OpenCV&Tesseract;-OCR实现银行卡号识
- 数字图像处理资源合集
- openCV部署环境包
- OpenCV图像处理编程pdf 增强版完整版
评论
共有 条评论