自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 halcon汉字识别及训练代码分析

*汉字训练dev_clear_window ()dev_open_window (0, 0, 512, 512, ‘black’, WindowHandle)read_image (Image,‘D:/Documents/liangjinzhong/image/wenzi.jpg’)rgb1_to_gray (Image, GrayImage)scale_image (GrayImage, ImageScaled, 3.22785, -352)*阈值化threshold (ImageSca.

2020-07-03 10:55:29 400

原创 Halcon机器视觉

Halcon复习算法篇图像预处理1图像的仿射变换与梯形更正2感兴趣区域(ROI)创建ROI:gen_rectangel(ROI_0,x0,y0,x1,y1)//从原图中分割ROIreduce_domain(srci_mg,ROI_0,dest_img)//显示Dev_display(img)3图像增强直方图均衡:建立一个0-255值灰度范围直方图,统计每个灰度值在直方图中出现的次数,记录算子:equ_histo_image()对图像的灰度直方图进行均衡处理,亮度提高;Gray_hi

2020-06-24 08:35:27 705

原创 UCOSIII_信号量和互斥锁

1)信号量:一、概述信号量,Semaphore:英[ˈseməfɔː®]。信号量常用于任务的同步,通过该信号,就能够控制某个任务的执行,这个信号具有计数值,因此,可以称为计数信号量。计数信号量可以用于资源管理,允许多个任务获取信号量访问共享资源,但会限制任务的最大数目。访问的任务数达到可支持的最大数目时,会阻塞其他试图获取该信号量的任务,直到有任务释放了信号量。这就是计数型信号量的运作机制...

2020-03-31 15:02:49 570

原创 面试总结

数组与指针的区别数组指针保存数据保存对象的地址空间隐式分配和释放指针和引用指针引用拥有属于自己的空间引用是被引用对象的别名sizeof指针为指针类型大小引用的大小为被引用对象的大小指针可以const引用不可以const指针修改内容需要解引用,才能赋值改变对引用修改便可以修改指针可以修改指向的地址引用初始化...

2020-03-11 00:48:36 86 1

原创 Linux的进程与线程

线程与进程线程进程CPU调度的最小单位系统资源分配的最小单位线程属于进程,依赖进程存在进程可以拥有多个线程,最少有一个线程存在多个线程共享进程的内存空间,每个进程拥有自己的栈段,又称运行时段,用来存放临时变量和局部变量进程拥有独立的内存空间创建线程的系统开销小创建进程系统开销大同一进程的多个线程具有相同的地址空间,使它们之间的同步和通信的实现,...

2020-03-10 15:52:39 80

原创 Linux驱动day03

查看设备号查看设备类一、设备号申请:(cdev.h)1静态申请:dev_t from = MKDEV(major,minor);int register_chrdev_region(dev_t from, unsigned count, const char *name)2动态申请:int alloc_chrdev_region(dev_t *dev, unsigned base...

2020-02-24 20:25:14 101

原创 (C/C++)区别:数组与指针,指针与引用

1.数组跟指针的区别数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。指针可以随时指向任意类型的内存块,它的特征是“可变”,所以我们常用指针来操作动态内存。指针远比数组灵活,但也更危险。数组和指针特点的简单比较:数组 指针保存数据 保存地址直接访问数据 间接访问数据,先取得指针的内容,...

2020-02-23 23:02:01 185

转载 inline用法

1、引入 inline 关键字的原因在 c/c++ 中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了 inline 修饰符,表示为内联函数。栈空间就是指放置程序的局部数据(也就是函数内数据)的内存空间。在系统下,栈空间是有限的,假如频繁大量的使用就会造成因栈空间不足而导致程序出错的问题,如,函数的死循环递归调用的最终结果就是导致栈内存空间枯竭。下面我们来看一个例...

2020-02-23 16:54:31 425

原创 静态类成员

对于静态类成员,需要注意一下几点:1)静态类成员可以是当前类的类型,而其他数据成员只能是当前类的指针或应用类型。在定义类成员是时,对于静态数据成员,其类型可以是当前类的类型,而非静态数据成员则不可以,除非数据成员的类型为当前类的指针或引用类型;例如class CBook{ public: static unsigned int m_price; CBook m_book;//非法的定义,...

2020-02-23 01:08:52 190

原创 exception的使用

C++ exception类C++语言本身或者标准库抛出的异常都是 exception 的子类,称为标准异常(Standard Exception)。你可以通过下面的语句来捕获所有的标准异常:try{//可能抛出异常的语句}catch(exception &e){//处理异常的语句} 之所以使用引用,是为了提高效率。如果不使用引用,就要经历一次对象拷贝(要调用拷贝构造函数)的过程。exception 类位于 <exception> 头文件中,它被声明为:class exce

2020-02-22 17:27:20 664

原创 共用体的特点

共用体数据类型有以下几个特点1)使用共用体变量的目的是希望用同一个内存段存放几种不同类型的数据,但请注意,在每一个瞬间只能存放其中一种,而不是同时存放几种;2)能够访问的是共用体变量中最后一次被赋值的成员,在对一个新的成员赋值后原有的成员就失去作用。3)共用体变量的地址和它各成员的地址都是同一个地址;4)不能对共用体变量名赋值;不能企图引用变量名来得到一个值;不能在定义共用体变量时对它初始...

2020-02-22 16:05:45 1033

原创 const 的基本用法

#include <iostream>int main(void){ int a = 100; int *const pC = &a;//指针的指向的内容可以变,不能改变指向 int const *pR = &a;//指针指向的内容不能改变,可以改变指向 const int *const pCR = &a;//既不可以改变指...

2020-02-22 13:29:34 84

原创 Linux驱动-day02

一,模块导出符号可以讲模块中的变量、函数 导出,仅供内核中其他代码、模块使用1如何导出:内核中提供了宏来实现导出EXPORT_SYMBOLEXPORT_SYMBOL_GPL——只遵循GPL协议的代码才可以使用2、模块依赖如果一个模块...

2020-02-21 18:41:50 101

原创 (linux驱动学习日记day01)module_param设置

#include <linux/init.h>#include <linux/module.h>#include <linux/kernel.h>//int param_int = 10;short param_short = 20;char *param_string = "hello joe";int param_arr[3] = {100,...

2020-02-21 11:59:19 280

原创 tftp,nfs的配置

一、tftp的配置1、安装软件包sudo apt-get install tftpd tftp xinetd2、建立配置文件在/etc/xinetd.d/下建立一个配置文件tftpsudo vi /etc/xinetd.d/tftp内容如下service tftp { socket_type = dgram ...

2020-02-20 18:35:55 210

原创 ARM-寄存器-内存

ARM处理器1.ARM指令集的分类大部分的ARM处理器支持ARM指令集和THUMB指令集ARM指令集:32bits(64bits),每条指令站用32位的存储空间THUNM指令集:16bits,每条指令占用16位的存储空间ARM处理器有两种状态,ARM状态执行ARM指令集,THUMB状态执行THUMB指令集。2.ARM处理器的工作模式经典的ARM处理器有7种工作模式,A系列有8种Us...

2020-02-19 11:27:34 879

原创 UDPsocket简单编程

一、接收端//1申请套接字int sockfd = socket(AF_INET,SOCK_DREAM,0);//2绑定

2020-02-18 22:39:39 136

原创 驱动裸机程序编译

arm-linux-gcc 编译:arm-linux-gcc -nostartfiles -nostdlib -Ttext 40008000 -e led led.c -o led//-nostartfiles:不加入起始文件开始//-nostdlib :不加入标准库//-Ttext:指定代码在裸机运行地址//-e:表示程序入口地址//40008000:程序入口地址arm-lin...

2020-02-18 15:29:12 223

原创 TCP和IP简单socket编程

网络编程:一、server服务端1.创建套接字img12.绑定img23.监听Img34.连接img4二、client客户端1.创建套接字img52.连接到服务器img63.接收和发送信息img7img8...

2020-02-18 11:15:56 104 1

原创 C++中指针和引用的区别

1)一个C++引用被初始化后,无法使用它再去引用另一个对象,它不能被重新约束;2)引用变量只是其他对象的别名,对它的操作与原来对象的操作具有相同作用。3)指针变量与引用有两点主要区别:一是指针是一种数据类型,而引用不是一个数据类型,指针可以转换为它所指向变量的数据类型,以便赋值预算符两边的类型相匹配;而在使用引用时,系统要求引用和变量的数据类型必须相同,不能进行数据类型转换。二是指针...

2020-02-16 13:56:04 148

转载 socket网络编程

TCP套 socket 接口编程:基于TCP的 客户/服务器(C/S)模式的工作过程如下:服务器进程中的一些函数:socket():/* 函数所需头文件及其原型 */#include <sys/socket.h>int socket( int family, int type, int protocol);socketfd = soket(AF_INET, SOCK...

2020-02-16 13:13:49 259

空空如也

空空如也

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

TA关注的人

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