资源简介
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的数字识别468815
- 使用opencv去掉二值化图像中黑色面积
- opencv环境配置
- win10 64位下编译的opencv4.5.5库,opencv
- VSP波场分离的径向中值滤波方法
- NVIDIAOpticalFlowSDK-79c6cee80a2df9a196f20afd6
- opencv_contrib-3.4.0.zip
- opencv2.4.9源码分析——SIFT
- 用两个摄像头实现,双目标定,双目
- opencv_traincascade训练分类器,手势识别
- opencv3.0交叉编译用parallel.cpp
- 基于opencv的图像识别识别图像中的色
- 基于openCV的识别特定颜色区域
- 基于OpenCV的分水岭算法实现
- QT+opencv+OCR 身份证号码,银行卡号识别
- opencv视频特定颜色区域识别
- 把RGB转换为HSV和HSI然后根据黄色和蓝
- opencv视觉测距
- 基于Qt和opencv的身份证号码识别系统
- opencv_ffmpeg249.dll
- SfM稀疏三维点云重建--完整工程文件
- 基于opencv的数人头程序源代码
- 中值滤波算法Quartus实现
- 利用OpenCV中的Stitcher类实现全景图像拼
- opencv实现的sift算法源码,包含了图像
- openCV 上的小波变换
- 基于OPENCV的车牌识别系统设计
- 617张国内车牌60-17bmp图片用于OpenCV正样
- hog特征提取,c版本代码
- 基于Qt5.8+OpenCV3.2的Basler多相机触发开
评论
共有 条评论