自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (3)
  • 收藏
  • 关注

原创 Python-opencv专栏(01)

#!/usr/bin/python3.6# -*- coding: utf-8 -*-# @Time : 2020/10/30 11:06# @Author : ptg# @Email : zhxwhchina@163.com# @File : course_01.py# @Software: PyCharmimport numpy as npimport cv2# 读取视频操作,并显示图片def video_demo(): capture = cv2.V

2020-10-30 11:38:16 117

转载 结构相似形特征(SSIM)原理简介及python实现

结构相似形特征(SSIM)原理简介及python实现

2020-10-25 21:52:03 389

原创 一天撸完Python-Opencv常用函数和基本思想(续集)

1 形态学转换形态学操作是根据图像形状进行的简单操作。一般情况下对二值化图像进行操作。需要输入两个参数,一个原始图像,第二个被称为结构化元素或核,它是用来操作的性质的。两个基本的形态学操作是腐蚀核膨胀。他们的变体构成了开运算,闭运算,梯度等。1.1 腐蚀就像土壤侵蚀一样,这个操作会把前景物体的边界腐蚀掉(但是前景仍然是白色)。这是怎么做到的呢?卷积核沿着图像滑动,如果与卷积核对应的原图像的所有像素值都是1,那么中心元素就保持原来的像素值,否则就变为零。这回产生什么影响呢?根据卷积核的大小靠近前

2020-10-23 19:38:09 240

原创 一天撸完Python-Opencv常用函数和基本思想(续集)

昨天有事情,本来打算一天分享完的(就是快速看看关键的部分),然后上午看了一会,有事情去忙了,所以没有完成这个工作,今天下午打开一看收到小伙伴的评价,其实自己也是个小白,因为论文的需要,需要图像的知识,自己能力有限,但是会尽力分享每一次学习的心得,希望一方面督促自己学习,另一方面也可以和大家分享交流,做学术嘛,就是要一起学习才能共同进步。感谢小伙伴的支持,谢谢关注!1 图像阈值图像阈值理论代码:import numpy as npimport cv2import matplotlib

2020-10-22 20:55:37 190

原创 一天撸完Python-Opencv常用函数和基本思想

前沿我使用的是Pycharm编译器用anaconda配置的解释器安装的库:numpy matplotlib cv2等在进行下面的工作之前,给各位说说pycham中添加个人信息#!/usr/bin/python3.6# -*- coding: utf-8 -*-# @Time : ${DATE} ${TIME}# @Author : super_kun# @Email : xxxxxxxxxxx@xxx.com# @File : ${NAME}.py# @Softwar

2020-10-21 15:04:23 605 3

原创 链表学习加深

四个区#include<stdio.h>#include<stdlib.h>int a; //全局变量的未初始化,默认是0;而局部变量不会,因此,局部变量为未初始化就会报错int main(void){ //int b; printf("a = %d\n",a); system("pause"); return 0;}#include<stdio.h>#include<stdlib.h>int a; //全局变量的未初始化

2020-10-19 16:14:34 98

原创 第1讲:Python算法数据结构(第1题+基础介绍+时间复杂度)

import timestart_time = time.time()for a in range(1,1001): for b in range(1,1001): for c in range(1,1001): if a+b+c == 1000 and a**2 + b**2 == c**2: print("a, b, c:%d,%d,%d"%(a,b,c))end_time = time.time()print(.

2020-10-17 22:31:22 329

原创 TCP ip协议基础知识掌握

TCP ip协议一类协议的统称Mac地址,序列号MAC地址MAC地址是网卡决定的,是固定的交换机发送的时候,第一次是广播地址过去,正确的就会进行返回,不正确的就进行丢弃第二次发送的时候,就是单播发送,就是广播发送正确的那一个互联网浏览器服务器上网...

2020-10-17 17:39:17 145

原创 Python基础知识复习

类classclass Dog(): def __init__(self,name,age): """初始化属性name和age""" self.name = name self.age = age def sit(self): """模拟小狗被命令时蹲下""" print(self.name.title()+"is now sitting.") def roll_over(self):

2020-10-17 10:19:24 288 2

原创 Python快速过一遍,重要知识点简单记录

索引的时候是从0开始而不是从1开始的list = ['track','bus','car']print(list[0].title())# 大写print(id(list))list.append("zhai")print(list)print(id(list))列表使用append的时候,试用前后使用后的id值没有改变list = ['track','bus','car']print(list[0].title())# 大写print(id(list))list.append("z

2020-10-16 22:33:07 140

原创 C++:STL学习vector

STL标准模板库容器 算法 迭代器容器和算法之间通过迭代器进行无缝连接容器算法迭代器仿函数vector::iterator itBegin = v.begin();//起始迭代器 指向容器中的第一个元素vector::iterator itEnd = v.end();//结束迭代器 指向的最后一个元素的下一个//通过迭代器访问容器中的数据vector<int>::iterator itBegin = v.begin();//起始迭代器 指向容器中的第一个元素ve

2020-10-16 20:12:36 88

原创 C++文件操作

1 ofstream:写操作2 ifstream:读操作3 fstream:读写操作文本文件写文件1包含头文件#include2 创建流对象osrteam ofs3 打开文件ofs.open(“文件打开方式”)4 写数据ofs<“写入的数据”;5 关闭文件ofs.close()文件操作(写文件)1 包含头文件2 创建流3 打开(选用合适的打开模式)4 开始进行读或者写操作5 关闭文件(操作完毕)如果不指定路径的话,默认的情况就在源文件所在目录下生成一个..

2020-10-16 18:38:20 139

原创 C++类多态

静态多态和动态多态以下代码是地址早绑定:#include<iostream>#include<string>using namespace std;class Animal{public: void speak() { cout << "动物在说话" << endl; }};class Cat :public Animal{ void speak() { cout << "猫在说话" <<.

2020-10-16 16:36:29 733

原创 C++运算符重载

加法用算符重载#include<iostream>#include<string>using namespace std;class Person{public: //1、 成员函数重载+号 Person operator+(Person &p) { Person temp; temp.m_A = this->m_A + p.m_A; temp.m_B = this->m_B + p.m_B; return temp; }

2020-10-16 14:38:03 701

原创 C++类对象相关知识

class Person{int m_A;//非静态成员变量 属于类的对象上static int m_B;//静态成员变量 不属于类对象上void func() {} //非静态成员函数 不属于类对象上static void func2() {};//静态成员函数 不属于类的对象上};#include<iostream>#include<string>using namespace std;class Person{ int m_A;//非静态成员变

2020-10-16 10:24:00 113

原创 C++几个关键点记录

空指针和野指针都不是我们申请的空间,因此不要访问。常量指针:指针常量:加上const防止误操作,定义成只读类型int* func(){ int a = 10; return &a;//战区的数据在函数执行完毕后自动释放}int main(void){ //栈区注意事项 //不要返回局部变量的地址 int *p = func(); cout << *p << endl;//第一次可以打印正确的数字,是因为编译器作量保留 cout &.

2020-10-14 20:08:58 145

原创 操作系统概述知识点截图

2020-10-13 16:57:06 62

原创 算法排序:史上最全2

快速排序

2020-10-12 16:14:10 180

原创 排序介绍和学习:史上最全的排序算法

一、冒泡排序#include<sys/timeb.h> //这个可以精确到毫秒#define MAX 10000//获取精确的时间函数long getSystemTime(){ struct timeb tb; ftime(&tb); return tb.time * 1000 + tb.millitm;}#include<stdio.h>#include<stdlib.h>#include<string.h>#inc

2020-10-11 21:43:56 138

原创 企业链表 循环链表

2020-10-11 17:46:42 72

原创 数据结构单项链表

data next链表:头文件API函数:#pragma once#ifndef LINKLIST_H#define LINKLIST_H#include<stdio.h>#include<stdlib.h>//链表节点typedef struct LINKNODE{ void* data;//无类型指针,可以指向任何类型的数据 struct LINKNODE* next;}LinkNode;//链表结构体typedef struct ..

2020-10-11 17:01:57 99

原创 C++第9讲:C++多态

2020-10-09 16:12:06 110

原创 C++第8讲:类继承各种继承关系

//耦合度:高内聚 低耦合什么是耦合模块与模块之间有写操作是有关联的, 如果改动一个木块其他的木块都有可能受到影响,模块与模块之间的关系越是紧密,独立性就越不好!例如:如果模块1直接操作了木块2红的数据,这种操作模块与模块之间就为强耦合,甚至可以认为这种情况之下基本算没有分模块!如果1只是通过数据与2模块交互,这种我们称之为弱耦合!微服务独立的模块,方便去维护,或者写单元测试等等…如果木块之间的依赖非常严重,将会非常不易于维护。虚继承...

2020-10-09 15:17:38 177

原创 C++第7讲:操作符重载

操作符重载,通过重载,对自定义的数据类型进行操作//…这里是操作符重载,写在全局//...这里是操作符重载,写在全局 Complex operator+(Complex &c1, Complex &c2){ Complex temp(c1.a + c2.a, c1.b + c2.b); return temp;}单目运算符不能写全#include<iostream>#include<cmath>using namespace std;.

2020-10-09 11:22:14 77

原创 C++第6讲:友元函数

如果对一个对象连续调用成员方法,每次都会改变对象本身,成员方法需要返回引用#include<iostream>using namespace std;class Test { public: Test(int a, int b) { this->a = a; this->b = b; } void printT() { cout << "a = " << this->a << " " &.

2020-10-09 09:25:29 193

原创 C++第6讲:强化学习(仓库货物管理)

2020-10-08 22:25:42 499

原创 C++第5讲:默认的构造和析构函数、拷贝函数

析构不可以进行重载拷贝函数构造函数是对象初始化的时候调用#include<iostream>#include<cmath>#pragma warning (disable :4996)using namespace std;class Teacher{public: Teacher(int id, char *name) { cout << "int,char *" << endl; m_id = id; i..

2020-10-08 21:12:37 179

原创 C++第4讲:构造和析构

#include<iostream>#include<cmath>using namespace std;class Test{public: //test类的构造函数 //在对象呗创建的时候,用来初始化对象的函数 Test(int x, int y) { m_x = x; m_y = y; } //构造函数是可以被重载的 Test(int x) { m_x = x; m_y = 0; } //无参构造构造函数,默认初始值为0

2020-10-08 15:18:24 149

原创 C++第3讲:判断两个圆的关系 、构造和析构

上一讲提到的判断两个圆的关系,通过类实现,看代码:#include<iostream>#include<cmath>using namespace std;//判断两个圆的关系// 点类class Point{public: void setXY(int x, int y) { m_x = x; m_y = y; } //计算两点间的方法 double pointDistance(Point &another) { int d_x

2020-10-08 08:41:23 825

原创 C++第3讲:类和对象的介绍,开始上硬菜

这里定义在类的private下,在类外是没有访问权限的#include<iostream>#pragma warning(disable:4996) //注意这一句的使用,可以解决C语言中出现的一些兼容性问题using namespace std;struct Hero{ char name[10]; int sex;};//这个一定要写在全局中才能实现对于结构体的打印,但是对于类而言,并不是这样的,还可以写在类里面void print_info(struct.

2020-10-07 22:00:43 114

原创 C++第2讲:内联函数,函数重载以及函数指针与函数重载

内联函数关键字inline 必须与函数定义体放在一起才能使函数成为内联,仅将inline 放在函数声明前面不起任何作用。慎用内联内联能提高函数的执行效率,为什么不把所有的函数都定义成内联函数?如果所有的函数都是内联函数,还用得着“内联”这个关键字吗?内联是以代码膨胀(复制)为代价,仅仅省去了函数调用的开销,从而提高函数的执行效率。如果执行函数体内代码的时间,相比于函数调用的开销较大,那么效率的收获会很少。另一方面,每一处内联函数的调用都要复制代码,将使程序的总代码量增大,消耗更多的内存空间。

2020-10-07 15:14:39 130

原创 C++第2将:C++相对于C语言的增强和扩展、引用和指针的区别

引用和指针的区别★相同点:●都是地址的概念;指针指向一块内存,它的内容是所指内存的地址;而引用则是某块内存的别名。★不同点:●指针是一个实体,而引用仅是个别名;●引用只能在定义时被初始化一次,之后不可变;指针可变;引用“从一而终”,指针可以“见异思迁”;●引用没有const,指针有const,const的指针不可变;具体指没有int& const a这种形式,而const int& a是有的,前者指引用本身即别名不可以改变,这是当然的,所以不需要这种形式,后者指引用所指的..

2020-10-07 11:36:07 120

原创 C++第一讲:指针、引用例子讲解

#include<iostream>using namespace std;struct student{ char name[100]; int age;};//这里结构体是通过指针进行传递的,一般来说就是4个字节void print_info(struct student *p){ cout << "姓名:" << p->name << " " << "年龄:" << p->age <&l

2020-10-07 08:50:18 117

原创 C++第1讲:综述C++

看到这里,你还想搞C++吗?哈哈哈,试试看,应该不会掉头发吧。在C++语言中,随用随定义在C语言中,重复定义多个同名的全局变量是合法的。在C++中,不允许定义多个同名的全局变量。在C语言的struct定义一组变量的集合,C编译器并不认为这是一种新的类型在C++中的struct是一个新的定义声明左值和右值得当左值的条件是,要有内存空间。在C++中三目运算,可以当左值。const常亮是由编译器处理的,提供类型检查和作用阈检查宏定义由预处理器处理,单纯的文本替换。C++枚举,.

2020-10-06 22:32:48 124

原创 C语言第16题:单项链表的实现

2020-10-06 20:46:20 88

原创 C语言第15题:二分查找+二分递归查找 终于知道函数封装的好处了

今天又回来学习啦,预计今天完成C的学习,晚上开始学习C++和大家简单唠唠嗑,因为现在在秋招,我一开始在做图像处理相关的,当初为了偷懒,不想学习C\C++,选择了python学习,学习过python的小伙伴,一定知道,这个是比较简单的,很多已经被做成了函数和库,可是去找图像相关的工作,对学历、算法要求还有不少,于是找工作很不顺利(当然也是自己学的不精),于是准备转找嵌入式相关的,因为我也有1-2年的嵌入式软件相关的编程,但是忘得差不多了,于是从C开始捡。正在学习的小伙伴也要好好的准备吧,不然以后找工作就很

2020-10-06 17:04:01 196

原创 C语言第14题:数据结构冒泡与选择(文件操作明天学习分享)

算法:有穷性确定性可行性数据结构对于面试的时候问的比较多,因此这里需要进行学习,仅仅用C语言进行讲解,对于其他语言都是一样的,只不过是编程的代码不一样而已。#include<stdio.h>int main(void){ int s[10] = { 10,23,34,32,42,12,9,56,21,8 }; int i; printf("排序前:"); for (i = 0; i < 10; i++) { printf("%d ",s[i]); } pr

2020-10-05 22:34:06 99

原创 C语言第13题:枚举与typedef + typedef 和define 区别

#include<stdio.h>#include<string.h>#include<stdlib.h>#pragma warning(disable:4996) //注意这一句的使用,可以解决C语言中出现的一些兼容性问题enum A{ red, black, yellow //其实就是整数,从0开始0,1,2,3,4,5,6...};int main(){ // yellow = 20;//美剧是常亮,值是不能改变的 int color.

2020-10-04 14:59:30 145

原创 C语言第12题:联合体的定义和使用

//同一个时刻只使用一个成员,就没必要开辟那么多内存空间去储存结构体变量#include<stdio.h>#include<string.h>#include<stdlib.h>#pragma warning(disable:4996) //注意这一句的使用,可以解决C语言中出现的一些兼容性问题union A{ int a; char b;};int main(){ union A a; a.a = 10; a.b = 20; pri

2020-10-04 14:34:05 832

原创 C语言第10题:结构体知识 +结构体作函数参数(使用指针提高效率)

注意上面的struct stduent{char name[100];int age;}只是定义了一种类型,并不是变量,正式定义变量是在下面开辟空间的时候不能直接使用结构体类型的数组进行->操作,->是针对指针类型而言的。定义的是指针类型的char *name;所以在只是一个地址信息,在使用的时候需要先用malloc进行内存分配才可以进行使用这里有一个重点内容,就是结构体使在堆区开辟的,然后对于结构体里面的成员再进行堆去分配,那么就出现了嵌套的使用情况,那么在释放的时候.

2020-10-04 12:30:38 919

python文件读写操作

要求新建两个文件,file1、file2,要求打开file1文件,分别对每一行数字进行求和,并将每一行的结果写在file2中。

2018-12-22

stm32 CAN总线

重点是对学习stm32的朋友,这个是别人总结的,比较好,讲的是CAN相关知识。

2018-12-19

python贪吃蛇

采用python进行游戏编写,可以用idle进行打开运行,知识简单的页面刷新

2018-12-19

空空如也

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

TA关注的人

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