自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 Matlab图像特征分析——颜色矩、直方图、灰度差分统计、自相关函数、灰度共生矩阵

本文介绍了图像特征分析的常用方法,包括颜色矩、颜色直方图、灰度差分统计、自相关函数、灰度共生矩阵。介绍了这些特征量的基本概念、特征规律、以及通过Matlab的实现方法与代码。

2020-11-24 15:08:46 23382 26

原创 MATLAB中图像类型转换

1. 概述 在许多图像处理过程中,常常需要进行图像类型转换,否则对应的操作没有意义甚至会出错。在MATLAB中,各种图像类型之间的转换关系如图1所示:图1 图像类型转换关系 在MATLAB中,要进行图像类型转换可以直接调用MATLAB函数,表1中列举了常用的图像类型转换函数。 函数名 函数功能 gray2ind 将灰度图像转换成索引图像 im2bw 通过设...

2020-07-15 15:39:42 3494 2

原创 C++实现二叉搜索树

一、 概念 1. 性质 二叉搜索树是数据结构中树形结构一种。它或者是一棵空树,或者具有以下特性: a.若它的左子树不为空,则左子树上所有节点的值都小于根节点的值 b.若它的右子树不为空,则右子树上所有节点的值都大于根节点的值 c.它的左、右子树也分别为二叉搜索树 下图1 为一个搜索二叉树:图1 二叉搜索树实例 对这个二叉树进行中序遍历的结果为:0 1 2 3 ...

2020-07-14 15:16:06 2020 3

原创 C++——模板初阶

模板是C++中泛型编程的基础。一个模板就是一个创建类或函数或者说公式。当使用一个vector这样的泛型类型,或者find这样的泛型函数时,我们提供足够的信息,将蓝图转换为特定的类或函数。一、 引言假如需要编写一个交换函数,可以采用函数重载来实现,如下代码:void Swap(int& left, int& right){ int temp = left; left = right; right = temp;}void Swap(d...

2020-06-08 15:26:09 173

原创 C++内存管理初阶new和delete

在介绍new和delete之前我们先回顾一下C/C++种内存的分布情况和C语言种的malloc、realloc、calloc以及free四个与内存相关的函数。1、 C/C++内存分布 内存分布的区域如下图:图1 内存分布存储说明: 1)非静态局部变量/函数参数/返回值等在栈中存储,栈是向下增长的。 2)内存映射段是高效的I/O映射方式,用于装载一个共享的动态内存库。用户可使用系统接口创建共享内存,做进程间通 讯。 ...

2020-06-02 11:18:38 132

原创 空域内调整图像灰度范围及基础图像增强方法MATLAB实现

一、 空域内图像灰度调整 空域内的图像增强就是调整灰度图像的明暗对比度,是对图像中各个像素的灰度值直接进行处理。常用的基础方法包括灰度变换增强和直方图增强。 1. 灰度变换 增强是在空间域对图像进行增强的一种简单而有效的方法。只改变像素的灰度值,并逐点进行,和周围的其他像素点无关。通过程序调整灰度图像的灰度范围,其具体实现的MATLAB代码如下: clear; close all;I=imread('pout.tif');I=doub...

2020-05-31 16:35:13 2931 1

原创 C++学习——引用、传值和传引用的效率对比、引用与指针

一、 引用1.1 引用概念 引用(reference)是为变量起了另一个名字,而不是定义一个新变量。编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。其使用形式如下: 类型& 引用变量名(对象名) = 引用实体; eg:int ival = 1024;int &refVal = ival; // refVal 指向ival(是ival的另一个名字)int &refVal2; // 报错:引用...

2020-05-26 16:02:17 5928

原创 C++ —— 缺省参数、函数重载

一、 缺省参数 1.1 缺省参数概念 先来解释一下“缺省”。缺省英文是default,默认的意思。缺省值意思就是默认值,所以缺省参数意思解释默认参数。那么,缺省参数就是声明或定义函数时为函数的参数指定一个默认值。在调用该函数时,如果没有指定实参则采用该默认值,否则使用指定的实参。 举个简单例子:#include <iostream>using namespace std;void test1(int a = 10, int b =...

2020-05-20 17:28:25 321

原创 二叉树的创建、销毁、前序遍历、中序遍历、后序遍历、等基本操作C语言实现

一、 简单概念 一棵二叉树是结点的一个有限集合,该集合或者为空,或者是由一个根节点加上两棵别称为左子树和右子树的二叉树组成。 二叉树的特点: 1. 每个结点最多有两棵子树,即二叉树不存在度大于2的结点。 2. 二叉树的子树有左右之分,其子树的次序不能颠倒。 下图为几种树的节点的可能情况:图1 二叉树的5种基本形态 主要的概念有二叉树的性质、二叉树的存储结构、二叉树的遍历,具体概念内...

2020-05-15 11:47:44 1894 1

原创 数字水印图像攻击测试实验MATLAB实现

继上次介绍了三种基本的图像数字水印算法以及代码后,其中大部分实验者都需要进行水印的抗攻击实验来测量算法的性能。上次文中也提到后期会介绍图像攻击算法,今天就介绍几个简单的图像攻击。一、 展示攻击代码 为了服务上次文章提到的数字水印攻击实验,先将代码展示如下吧,具体的使用接下来说明。%% 进行攻击测试 %%disp('1-->加入白噪声');disp('2-->高斯低通滤波');disp('3-->剪切图像');disp('4-->旋转攻...

2020-05-14 18:44:47 8507 2

原创 MATLAB 批量保存和读取文件/图片的方法

最近在做图像处理的相关项目中涉及到文件的批量处理,个人觉得批量保存和读取文件简单而且实用,现以图片为例将其方法分享一下。一、思想:在批量保存和读取文件时,为了方便固然是将文件名按某种规律进行保存和读取。我们不妨将文件名保存为1,2,3,......,这样方便保存同时也方便读取等操作。但是文件名的‘1’,‘2’,‘3’....不是整数类型,而是字符类型的,所以在保存时关键的一步就是将数字转换成字符,这一步也非常简单(可见后面代码),其他的交给循环就行完成文件批量的保存和读取。二、示例...

2020-05-14 11:21:46 8342

原创 基于离散余弦变换(DCT)傅里叶变换(DFT)小波变换(DWT)的彩色图像数字水印的嵌入、提取简介及MATLAB实现

该篇包括三部分,1)引言、2)图像变化技术简介和代码实现 、3)基于图像变换技术的数字水印技术及代码实现。 数字水印是信息隐藏领域的一个重要分支, 也是密码学的一种有益的补充技术。近年来隐形水印是其中最主要的研究方向之一, 按照嵌入位置可分为空间域方法和变换域( DCT, DFT 和DWT 等) 方法。为了使水印信息有更好的鲁棒性(抵抗攻击的能力)众多学者采用变换域中的嵌入方法,接下来将分别介绍基于DCT、DFT、DWT三种基础图像变换技术的数字水印方法及代码实现。

2020-04-17 21:55:40 30817 158

原创 数据结构——双向循环链表的增删查找用C语言实现

一、 双向循环链表 带头双向循环链表是链表中结构较为复杂的一种,一般用在单独存储数据。实际中使用的链表数据结构,都是带头双向循环链表。这个结构虽然结构复杂,但是使用代码实现以后会发现结构会带来很多优势,实现反而简单了,后面我们代码实现了就知道了。 首先,顾名思义,一个双向链表的节点中有一个数据域和两个指针域,其一个指针(next)指向后继,另一个指针(prior)指...

2020-04-16 15:20:17 703

原创 数据结构与算法——用C语言实现链表的初始化、增加节点、删除节点、查找节点等

最近自己学习了线性表的链式表示和实现,其相关概念在《数据结构》——严蔚敏,教材中有详细的介绍。该篇文章主要是利用c语言中的结构、指针等知识来实现链表的增、删、查、找的功能。一 、 首先,链表中每个节点可定义为以下结构形式,如下:typedef int Type; // 用Type代替 int, 方便修改数据类型// 定义一个结构体类型,为一个链表节点t...

2020-04-05 22:41:19 1600

原创 C语言来实现一个简单的通讯录

问题要求: 使用C语言实现一个通讯录,通讯中每个人的信息包括:姓名、性别、年龄、电话、住址 通讯录需要实现以下功能:添加联系人信息 删除指定联系人信息 查找指定联系人信息 修改指定联系人信息 显示所有联系人信息 清空所有联系人 以名字排序所有联系人 另外要求:a 当通讯录的人数容量满时自动扩充容量. b 每次对通讯录内容的更新都要自动保存至本地的磁盘文件,...

2020-03-27 13:27:44 1380

原创 C语言——判断/计算结构体大小

一、 结构体回顾 C语言允许用户自己建立由不同类型数据组成的组合型的数据结构,就称为结构体(structre),在其他一些高级语言中称为“记录”(record)。结构体举例:struct S1 { long a; char b; int c; }; // 注意分号不能省略 那么我们如何判断这个结构体所占内存的大小呢??? 在32位机...

2020-03-13 22:54:21 1737

原创 C 语言与指针 , 指针部分笔试题目及解析

一 、 回顾两个定义在开始讲解题目之前先回顾一下两个概念,数组指针和指针数组。数组指针,即数组的指针,是指针,其内容指向一个数组。例: int(*)p[5] 即为指向数组的指针,称数组指针。指针数组,即数组元素全为指针的数组。例: int *p[5] 有5个指针类型的数组元素。二 、 C与指针题目 1. 下列程序的输出结果?int main(){int a[5] ...

2020-03-06 22:01:36 451

原创 找凶手: A说不是我; B说是C; C说是D;D说C在胡说。 猜名次:A说B第二,我是第三;B说我是第二,E是第四... ...

本篇博客将对两个问题进行模拟实现,一个是 找凶手;一个是猜名次。具体问题如下描述:(1)找凶手 某谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词:A说:不是我。 B说:是C。 C说:是D。 D说:C在胡说已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定到底谁是凶手。(2)猜名次 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果:A选手说:B第二,我第三;B选手说:我第二,E第四 ... ...

2020-03-03 11:45:12 1933

原创 内存VS外存 、 整数在内存中的存储、大小端字节序

内存和外存:计算机(冯.诺伊曼体系)中重要的一部分。 冯.诺伊曼体系如图1: 图1 冯.诺伊曼体系内存和外存的区别:...

2020-03-01 22:12:47 524

原创 神经网络——感知器

1. 感知器结构 单层感知器做为学习神经网络入门中的入门,理解感知器的结构和原理是学习其他神经网络的基础。 单层感知器就是包含一层权值可变的神经网络的感知器模型,可用于解决线性可分的二分类问题。其模型的结构图如下图。 ...

2020-02-27 12:47:16 738

原创 输出数组最短无序子数组

问题描述: 给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序,即输出数组得最短无序子数组。思路: 既然要成为升序排列,那么数组第一个元素为最小值,最后一个元素为最大值;再依次判断第二个、第三个......是否依次升序,倒数第二个、倒数第三个......是否为依次降序,如果不是按依次大小排列得顺序,则返回下标值。代码实现:#in...

2020-02-23 16:22:59 148

原创 数组元素的移动和删除

问题1 给定一个数组,将数组忠某个元素向右移动K个位置,k为非负数。思路 : 首先创建一个数组,并打印;然后进行数组元素的交换,从被指定的移动的第n个元素开始一次向后进行元素交换,交换次数为元素移动的位数。代码实现:#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#d...

2020-01-30 10:30:29 1161

原创 结构体—初阶

结构体(struct)在C语言中用于处理多个单一数据组成的数据集合。在复杂的数据处理中,结构体是必不可少的。1. 结构体声明 struct 结构体名{ 数据类型1 结构体成员1; 数据类型2 结构体成员2; ..... }; eg : struct Student { ...

2019-12-20 19:56:32 164

原创 C语言——初学指针

1. 指针的定义:指针是一种数据类型,用来表示内存的地址。即表示内容地址的数据类型就是指针类型。 定义方式: 数据类型名* 指针变量名 eg:char* cp; int* p; ..... 由以下代码可直观了解指针的定义内容。#define _CRT_SECURE_NO_W...

2019-12-11 15:21:58 220

原创 图像均衡化数字水印的嵌入与提取试验

-----------图像均衡化数字水印嵌入与提取方法 图像处理中的直方图,也称为灰度级直方图,即一副图的灰度分布图,表示数字图像中每一灰度与该灰度级出现的频率之间的统计关系。直方图的定义为: ...

2019-11-27 14:57:14 1901 7

原创 基于DCT-SVD数字水印在印刷品中的应用

基于DCT-SVD数字水印印刷中的应用摘要 目的 防伪是印刷领域中的一个重要内容, 网络技术和图像复制技术的发展 ,使得图像的传播和再复制过程更方便和快捷。通过多种数字处理软件和高质量的图形图像输入输出设备,可以轻易地对原作品进行任意编辑、修改并非法再复制和盗版的事件越来越多 因此迫切需要有效的印刷图像版权保护、取证和防伪的技术方法。 方法 数字...

2019-11-25 15:28:10 2355 17

原创 使用函数输出 1. 随意大小乘法口诀 2.数字交换 3.判断闰年 4.判断素数等

问题1 实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,如:输入9,输出9*9口诀表,输入12,输出12*12的乘法口诀表。代码实现如下:#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h> // ...

2019-11-21 14:46:42 133

原创 指定数组折半法查找元素; 输出水仙花数; 输出*****的指定形状

问题 1 . 在指定数组中采用折半法查找元素其代码实现如下:#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>int Binarysearch(int arr[], int size, int tofind) { //自定义函数 int left = 0; int...

2019-11-14 11:12:31 177

原创 Windows版GIT的用法

Git和Github的基本用法背景git是一个版本控制工具. 主要解决三个问题当代码被误删时方便找回。 产品经理反复修改需求, 需要同时维护多个版本代码 多人协同开发.Github 是 "全球最大的同性社交网站". 通过 git 可以把代码上传到 Github 上给全球的用户分享.下载安装安装 git for windows这个是一个git的windows...

2019-11-12 17:31:10 707

原创 求两个数的最大公约数 / 掀门帘字幕

问题1. 用 C 语言求出两个数的最大公约数 问题分析: 最大公约数也称最大公因子,指两个或多个整数共有约数中最大的一个。即,找出两个数中最大的一个共有因子。 项目思路: 首先,将两个从小到大排序;然后,分别用较大和较小的数去除小数;然后,从小数开始递减直到两个数的余数都为零,其数为最大公约数。 代码实现:#define _CRT_SECURE...

2019-11-08 23:54:42 139

原创 输出乘法口诀表; 输出1到100的素数。

1、 输出9*9乘法口诀表C语言代码如下:#define _CRT_SECURE_NO_WARNINGS #include <stdio.h>int main( ) { int i,j; for (i = 1; i <= 9; i++) { for (j = 1; j <= i; j++) { printf("%d*%d=%2d ", i, ...

2019-11-03 20:20:19 406

原创 半路出身的计算机选手 第一篇博客

-----------------------------------一个半路出身的计算机选手 第一篇博客------------------------------------------一个非计算机背景专业的半路杀手正在通往计算机领域的路上艰苦奋进。这是我的第一篇博客,有点仪式感吧,来记录以下我是怎么入坑经历,以及自己的规划。现阶段正业:数字水印技术研究我本科所学的专业是一个比较传统而且...

2019-10-31 17:37:22 359 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除