-
大小: 22.27MB文件类型: .7z金币: 1下载: 0 次发布日期: 2023-07-27
- 语言: 其他
- 标签: VS2013+Qt5.5 双线程 opencv 图像队列
资源简介
===环境:VS2013+Qt5.5.1+opencv+大恒相机
===功能:采集+显示+保存
===扩展:图像显示函数可以直接添加opencv图像处理
代码片段和文件信息
// HandImageProcess.cpp : 定义控制台应用程序的入口点。
//
#include “stdafx.h“
#include
#include
#include
using namespace cv;
void enhence(cv::Mat&srcmat)
{
if (srcmat.channels() > 1)
{
cv::cvtColor(srcmat srcmat cv::COLOR_BGR2GRAY);
}
int low_bound = 65;
int up_bound = 180;
float pow_index = 1.5;
for (int i = 0; i < srcmat.rows; i++)
{
for (int j = 0; j < srcmat.cols; j++)
{
if (srcmat.at(i j) < low_bound)
{
srcmat.at(i j) = 0;
}
else if (srcmat.at(i j) > up_bound)
{
srcmat.at(i j) = 255;
}
else
{
srcmat.at(i j) = (unsigned char)(255.0 *(powf((srcmat.at(i j) - low_bound) pow_index) / powf((up_bound - low_bound) pow_index))); //目前pow_index = 1.5
}
}
}
}
void HandImagepro(cv::Mat&int_mat cv::Mat&out_mat)
{
if (int_mat.empty())
{
return;
}
//cvtColor(int_mat int_mat COLOR_BGR2GRAY);
Mat double_mat;
int_mat.convertTo(double_mat CV_32FC1 1.0/255 0);
Mat blurmat;
blur(double_mat blurmat Size(128 128));
Mat submat(double_mat.rows double_mat.cols CV_32FC1);
for (int i = 0; i < submat.rows; i++)
{
for (int j = 0; j < submat.cols;j++)
{
submat.at(i j) = 1.0*double_mat.at(i j) - blurmat.at(i j);
}
}
double minval = 0;
double maxval = 0;
minMaxIdx(submat &minval &maxval);
for (int i = 0; i < submat.rows; i++)
{
for (int j = 0; j < submat.cols; j++)
{
submat.at(i j) = 1.0*submat.at(i j) - minval;
}
}
minMaxIdx(submat &minval &maxval);
for (int i = 0; i < submat.rows; i++)
{
for (int j = 0; j < submat.cols; j++)
{
submat.at(i j) = 1.0*submat.at(i j) / maxval;
}
}
minMaxIdx(submat &minval &maxval);
printf(“minval=%f maxval=%f\n“ minval maxval);
Scalar meanval stddevval;
meanStdDev(submat meanval stddevval);
printf(“meaval=%f\n“ meanval[0]);
for (int i = 0; i < submat.rows; i++)
{
for (int j = 0; j < submat.cols; j++)
{
double tmpdata = (meanval[0] / submat.at(i j));
double tmp = 1.0 / (pow(tmpdata 6) + 1);
submat.at(i j) = tmp*255;
}
}
minMaxIdx(submat &minval &maxval);
meanStdDev(submat meanval stddevval);
printf(“minval=%f maxval=%f meaval=%f\n“ minval maxval meanval[0]);
imwrite(“E:\\project\\Samples\\imgs_class\\1\\95.bmp“ submat);
submat.convertTo(out_mat CV_8UC1 1 0);
equalizeHist(out_mat out_mat);
imwrite(“E:\\project\\Samples\\imgs_class\\1\\96.bmp“ out_mat);
for (int i = 0; i < submat.rows; i++)
{
for (int j = 0; j < submat.cols; j++)
{
submat.at(i j) = submat.at(i j)*submat.at(i j)*submat.at(i j);
}
}
normalize(submat submat 0 255 CV_MINMAX);
//转换成8bit图像显示
convertS
- 上一篇:字体fnt集合
- 下一篇:PMBOK第六版_中文版精压版
相关资源
- Opencv常用前景提取算法
- 基于OpenCV的车牌识别系统
- 贪心算法,opencv,主动轮廓模型,s
- Computer Vision with OpenCV 3 and Qt5 pdf + co
- opencv SVM训练检测车牌
- OpenCV_1.0.exe
- 车牌识别-opencv
- AdaBoost人脸检测程序
- 挥拳动作OpenCV识别
- SIFT算法实现及代码详解239444
- 基于opencv与opengl实现增强现实
- 利用opencv实现疲劳检测
- QT+Opencv2+VS2012 使用多线程显示网络摄
- opencv3.4.1 编译库,可在Qt直接使用
- opencv3.4+contrib vs2017 debug x64 编译好的库
- VS+OPENCV+ZBAR一维,二维码识别[包含中
- 基于OpenCV的车牌识别
- OpenCV_world330.lib
- win32平台的opencv3.4.2
- OpenCV2.1安装包
- 深入理解OpenCV:实用计算机视觉项目
- 学习OpenCV(中文版)pdf文档+源码
- 学习opencv 中文版及源码
- opencv-3.3.1 for vs2013
- OpenCV3.2编译文件
- QtOpencvImageGUI
- OpenCV实现多目三维重建
- opencv2.4.13lib_x86_x64_vs2013
- 形状匹配find_scaled_shape_model
- OpenCV 3.3_x86_minGW_world
评论
共有 条评论