资源简介
OpenCV中值滤波的源代码,启用SSE2指令,速度非常快。
代码片段和文件信息
#include “FileIO.h“
#include
using namespace std;
// Read/Write txt 文件的文件头大小(字节)
#define HEADER_SIZE 1024
// 将BYTE图像数据以二进制形式写入文件nChannel表示一个像素占用几个字节
BOOL WriteTxt(const char* fileName BYTE* pSrc int nRowlen int nHeight int nChannel)
{
ofstream fout;
fout.open(fileName ofstream::binary);
if (fout.is_open())
{
try
{
// 写文件头(大小HEADER_SIZE)
const char* pHead = “yuanyuanxiang“;
int nLen = strlen(pHead);
fout.write(pHead nLen);
int nInt = sizeof(int);
fout.write((char*)&nRowlen nInt);
fout.write((char*)&nHeight nInt);
fout.write((char*)&nChannel nInt);
fout.seekp(HEADER_SIZE);
// 写图像数据
fout.write((char*)pSrc nHeight * nRowlen);
fout.close();
return TRUE;
}
catch (...)
{
fout.close();
return FALSE;
}
}
return FALSE;
}
// 将BYTE图像数据以二进制形式读入文件,nChannel表示一个像素占用几个字节
BYTE* ReadTxt(const char* fileName int &nWidth int &nHeight int &nRowlen int &nChannel)
{
ifstream fin;
fin.open(fileName ifstream::binary);
nWidth = 0;
if (fin.is_open())
{
BYTE *pSrc = NULL;
try
{
// 获取文件大小
streampos pos = fin.tellg();
fin.seekg(0 ios::end);
long nFileSize = (long)fin.tellg();
fin.seekg(pos);
if (nFileSize <= HEADER_SIZE)
{
fin.close();
return NULL;
}
// 读取文件头
const char* check = “yuanyuanxiang“;
int nLen = strlen(check);
char* pHead = new char[nLen];
fin.read(pHead nLen);
for (int i = 0; i < nLen; ++i)
{
if (pHead[i] != check[i])
{
SAFE_DELETE(pHead);
return FALSE;
}
}
SAFE_DELETE(pHead);
int nInt = sizeof(int);
fin.read((char*)&nRowlen nInt);
fin.read((char*)&nHeight nInt);
fin.read((char*)&nChannel nInt);
if (nRowlen * nHeight + HEADER_SIZE <= nFileSize)
{
pSrc = new BYTE[nRowlen * nHeight];
fin.seekg(HEADER_SIZE);
fin.read((char*)pSrc nRowlen * nHeight);
fin.close();
nWidth = nRowlen / nChannel;
return pSrc;
}
}
catch (...)
{
fin.close();
return NULL;
}
}
return NULL;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-10-09 20:43 MedianBlur\
文件 897 2016-10-09 13:23 MedianBlur.sln
文件 2217 2016-10-09 13:30 MedianBlur\FileIO.cpp
文件 544 2016-10-09 13:30 MedianBlur\FileIO.h
文件 284224 2016-10-08 23:04 MedianBlur\ImageROI.txt
文件 1135 2016-10-09 20:25 MedianBlur\main.cpp
文件 14069 2016-10-09 20:42 MedianBlur\medianBlur.h
文件 4590 2016-10-09 20:22 MedianBlur\MedianBlur.vcxproj
文件 1331 2016-10-09 20:21 MedianBlur\MedianBlur.vcxproj.filters
文件 216 2016-10-09 20:18 MedianBlur\stdafx.h
相关资源
- 基于OpenCV的车牌定位
- opencv 头文件以及库文件
- 运动人体的摔倒检测
- Opencv行人检测代码 自带hog检测
- opencv读取usb摄像头和播放视频
- ARM上利用opencv实现人脸识别
- opencv_contrib xfeatures2d boostdesc
- Linux上Qt-OpenCV采集摄像头视频并显示
- OpenCV利用Qt的GUI显示图片
- 基于OpenCV3.2+Qt5.8的basler相机硬件触发
- 基于Opencv的图像分类
- 基于opencv + 多线程的目标跟踪
- 基于OpenCV的多种条形码识别算法
- 智能交通系统 虚拟线圈 车流量检测
- Mastering_OpenCV_第六章车牌识别word版本
- opencv 画图库
- 3d结构光扫描 opencv
- 九点标定opencv+VS2015)
- opencv调整图像亮度对比度的
- libopencv_info.so
- 自实现双边滤波代码及测试图像
- opencv2.4.7安装程序及教学
- 虚拟视点绘制DIBR源码
- qt+zbar+opencv 环境配置
- opencv图像配准
- OpenCV利用查找表Look-up table增加图像对
- VS2017下用OpenCV实时播放RTSP视频流并截
- OpenCV 飞行游戏手势控制源码.rar
- Qt+Opencv实现四步相移
- 相机标定棋盘图
评论
共有 条评论