![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 78
wanty_chen
这个作者很懒,什么都没留下…
展开
-
C++——存储数据文件为TXT/CSV格式
为存储测试数据,特此记录1.存储为TXT文件#include <io.h>#include <fstream> #include<iostream>#include<stdio.h> using namespace std;int main(){ int a[2][3] = { 1,2,3,4,5,6 };...原创 2020-05-05 01:35:32 · 3034 阅读 · 0 评论 -
C++——读取指定文件夹下文件
为实现批量读图测试,特此记录。1.获取指定目录下特定文件格式void getAllFiles(string path,vector<string> &files, string fileType);如,获取“jpg”文件getAllFiles("C:\\Users\\Desktop\\111\\1", temp ,".jpg");2.获取指定目录下所有文...原创 2020-05-05 00:39:50 · 2694 阅读 · 0 评论 -
C++——bmp二值图像的击中击不中变换
本文在前文基础上完成以白色为前景的二值图像的击中击不中变换:1、击中击不中变换 击中击不中变换是形态学形状检测的基本工具,是用来查找像素局部模式的形态学运算符。‘局部’是指‘结构元素’的大小。 两个不相交集合B={B1,B2},称B为复合结构元素。则击中击不中变换为: ...原创 2018-05-16 21:36:55 · 711 阅读 · 0 评论 -
C++——bmp二值图像的腐蚀、膨胀、开运算、闭运算
本文实现二值bmp图像的腐蚀、膨胀及开运算、闭运算操作。本文使用白色为前景、黑色为背景的二值图进行操作:1、腐蚀腐蚀操作是结构原中心在被腐蚀图像中平移填充的过程。图像A被结构元B腐蚀,用集合论来表示如下式: 其中x是平移量,上式表示腐蚀结果集合中的元素是结构元的中心平移x后仍然...原创 2018-05-16 15:41:04 · 4062 阅读 · 0 评论 -
C++——bmp图像的平滑、锐化(拉普拉斯+sobel+prewitt+Roberts Cross operator)
本文实现了RGB三通道图像及灰度图像的平滑、锐化处理。在开始之前,我们先对平滑及锐化的概念进行一个简单的了解:1、平滑 图像平滑是指受传感器和大气等因素的影响,遥感图像上会出现某些亮度变化过大的区域,或出现一些亮点(也称噪声)。这种为了抑制噪声,使图像亮度趋于平缓的处理方法就是图像平滑。图像平滑实际上是低通滤波,平滑过程会导致图像边缘模糊化。常用的平滑处理方法有三种:(1) Box模板...原创 2018-05-16 15:21:09 · 11193 阅读 · 14 评论 -
C++ —— 读取MNIST数据集数据并转存为图像
在上一个博客中,我们已经对MNIST数据集的数据格式有了一定的了解,这里我们要完成的工作是将读到的数据转成图片,存入文件夹中,以便日后使用。在开始之前,我们先对该数据库的存储格式进行一个具体的介绍:MNIST(Mixed National Institute of Standards and Technology database)是一个计算机视觉数据集,它包含70000张手写数字的...原创 2018-04-29 13:07:05 · 5243 阅读 · 9 评论 -
C++——bmp图像+中值滤波
1、中值滤波 中值滤波是对一个滑动窗口内的诸像素灰度值排序,用其中值代替窗口中心象素的原来灰度值,它是一种非线性的图像平滑法,它对脉冲干扰级椒盐噪声的抑制效果好,在抑制随机噪声的同时能有效保护边缘少受模糊。 二维中值滤波算法是:对于一幅图像的象素矩阵,取以目标象素为中心的一个子矩阵窗口,这个窗口可以是3*3 ,5*5 等根据需要选取,对窗口内的象素灰度排序,取中间一个值作为...原创 2018-05-14 13:45:15 · 3740 阅读 · 2 评论 -
opencv学习笔记——用C++读取MNIST手写数据库的数据,并用opencv自带的SVM进行识别
本文所用的MNIST 数据集来自美国国家标准与技术研究所, National Institute of Standards and Technology (NIST). 训练集 (training set) 由来自 250 个不同人手写的数字构成, 其中 50% 是高中学生, 50% 来自人口普查局 (the Census Bureau) 的工作人员。 测试集(test set) ...原创 2018-04-28 22:06:18 · 4050 阅读 · 0 评论 -
C++——bmp图像灰度化+二值化
本文实现bmp图像的灰度化及二值化操作:1、灰度化2、二值化 图像的二值化处理就是将图像上的点的灰度置为0或255,也就是讲整个图像呈现出明显的黑白效果。即将256个亮度等级的灰度图像通过适当的阀值选取而获得仍然可以反映图像整体和局部特征的二值化图像。所有灰度大于或等于阀值的像素被判定为属于特定物体,其灰度值为255表示,否则这些像素点被排除在物体区域以外,灰度值为0,表示背景或者例外...原创 2018-05-11 21:18:56 · 9306 阅读 · 4 评论 -
C++——bmp图像缩放(插值)
本文要实现的功能是使用最近邻插值以及双线性插值完成bmp图像的缩放。1、最近邻插值 不需要计算,在待求象素的四邻象素中,将距离待求象素最近的邻象素灰度赋给待求象素: 设i+u, j+v(i, j为正整数, u, v为大于零小于1的小数,下同)为待求象素坐标,则待求象素灰度的值 f(i+u,...原创 2018-05-11 17:17:22 · 9425 阅读 · 5 评论 -
C++——bmp图像裁剪
在之前的博客中,我们已经实现了bmp图像的读取与保存,本文在之前的基础上对对人图像的数据区进行处理,达到截取图像部分区域的目的,以便以后的图像处理操作,代码如下:#include <string.h> #include <malloc.h> #include<cstdlib>#include<cstdio>#include<...原创 2018-05-10 16:04:04 · 5480 阅读 · 8 评论 -
opencv学习笔记——C++读入bmp图像数据后,转为mat型矩阵,并显示输出
在开始之前,我们先介绍一下mat类的用法:1、mat类存储图像Mat类是OpenCV里使用广泛的一个类,其中最重要的一个作用就是作为存储图像的数据结构。那么Mat类如何存储的图像呢? 我们都知道图像分为彩色图像和灰度图像,这里我有一个误区,一直认为彩色图像是一种三维矩阵,就是立方体的那种结构,一个图像分为三层。但是这种理解是错误的,其实在存储的图像不管是彩色的还是灰度图像,都是二维的矩...原创 2018-04-20 20:55:00 · 19117 阅读 · 5 评论 -
C++—— 读入一张bmp图片,提取其图像数据,存入矩阵/txt文件
本文章完成的是读入bmp图片、将数据存入矩阵/TXT文件、保存图片的功能。在开始之前,我们需要了解bmp位图的存储方式:BMP文件的数据按照从文件头开始的先后顺序分为四个部分:(1)bmp文件头(bmp file header):提供文件的格式、大小等信息(2)位图信息头(bitmap information):提供图像数据的尺寸、位平面数、压缩方式、颜色索引等信息(3)调色板(color pal...原创 2018-04-19 16:22:16 · 16250 阅读 · 13 评论 -
C语言 矩阵乘法
矩阵运算时,逐行逐列相乘再相加,因此对于二维矩阵,需要两个for循环来求解,第一个for循环指定行,第二个for循环指定列。除此之外,定义一个变量k来标识A的行中个元素以及标识B的列中个元素。通过k的增加来遍历A的行中的元素和遍历B的列中的元素。运用C语言进行二维矩阵乘法运算代码如下:#include<stdio.h>#define M 3#define N 4#defi...原创 2018-04-16 12:57:41 · 1640 阅读 · 0 评论