自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 资源 (11)
  • 收藏
  • 关注

转载 关于不同类型指针的强制转换

变量的数据类型的含义(1)所有的类型的数据存储在内存中,都是按照二进制格式存储的。所以内存中只知道有0和1,不知道是int的、还是float的还是其他类型。(2)int、char、short等属于整型,他们的存储方式(数转换成二进制往内存中放的方式)是相同的,只是内存格子大小不同(所以这几种整形就彼此叫二进制兼容格式);而float和double的存储方式彼此不同,和整型更不同。(3)用int类型的方式定义a,a在内存中以int类型的存储方式,要用%d的解析方式解析,存储方式和解析方式要对应。*

2022-01-22 11:45:49 1495

原创 Modbus RTU的Master及Slave功能的实现

先贴程序modbus.h#ifndef _MODBUS_H_#define _MODBUS_H_#include "stdint.h"#include "usart.h"#define InputReg_Max_Addr 64#define HoldReg_Max_Addr 64#define Coil_MaxAddr 1#define InputBit_Max_Addr 1#define TxBufLength 40#define RxBufLength 40t..

2022-01-07 13:02:54 5846

原创 STM32F407VET UART+DMA 定长及不定长接收

先是配置定长接收方式配置cubemx,打开uart及dma,这里的DMA我设置为Normal模式,就是启动一次,传输完成就停止。设置一个用于连接max485 RE口的output引脚。MAX485 RE低时允许接收,RE高时,禁止接收,允许发送。关键的有几个函数发送的流程是需要发送时调用拉高RE引脚HAL_UART_Transmit_DMA(&huart2,Uart2_TxBuf,10);↓DMA开始发送,到发送完成,系统调用↓void DMA1_St

2022-01-05 13:27:12 1185

原创 触摸屏TP2046及W25Qxx驱动

代码touch.h#ifndef _TOUCH_H_#define _TOUCH_H_#include "stm32f4xx_hal.h" ////////////////////////////////////////////////////////////////////////////////// //触摸屏驱动(XPT2046) 代码 //STM32F4工程模板-库函数版本 //****************************...

2022-01-03 14:32:47 825

原创 STM32F407VET6+cubemx+FSMC+ST7789

我想说淘宝卖家真心不靠谱,一个ST7789的屏写的写作3941来卖,碰巧我用的是原子兄旧的驱动,自己又懒,没有深入研究,搞了我几天。最后还是谢了原子兄新出的驱动,才识别出是7789.从cubemx开始足够的堆栈很重要,行了再减少。然后是脚本lcd.c#include "lcd.h"#include "stdlib.h"#include "font.h" #include "usart.h" ///////////////////////////////

2022-01-02 21:20:09 12657

转载 动态识别中二维数据的优化

三.形态滤波的算法1.算法目的:利用二值形态学的开和闭来对二值图象帧进行消除突刺和填充小孔的处理,以得到效果比较好的二值图象帧2.算法的基本思想:二值形态学中的腐蚀运算可以通过结构单元B的合理选取来对目标图象区域进行收缩,以便实现消除区域很小的突刺点,为了不产生图象失真,随后再对图象进行膨胀运算则可,这就是开运算;同样,先对目标图象区域进行膨胀,以实现填充大区域中的一些小孔,再对图象进行腐蚀运算以避免图象失真,这就是闭运算3.算法描述:3.1腐蚀算法:先选取合适的结构单元B,接着对图象帧的每个象素点进行处理

2010-06-15 00:19:00 174

UART2_485.zip

这是应用cubemx配置的uart,并制作modbus rtu服务器的标准程序,很容易移植。包括master和slave功能。 这里有说明及移植方法 https://blog.csdn.net/alwayslzz/article/details/122331964

2022-01-07

STM32F407VE驱动ST7789和XPT2046和W25Q.zip

MinSystem20220102驱动ST7789和触摸屏和W25Q.zip

2022-01-02

opencv帧差法运动检测

opencv帧差法运动检测

2016-03-24

基于Directsound的录音,FFT,波形显示,声纹显示

基于Directsound的录音,FFT,波形显示,声纹显示

2010-08-03

帧差法,背景相减法的运动监测 源码

帧差法 背景相减法 运动检帧差法,背景相减法的运动监测测 膨胀法 腐蚀法

2010-06-15

Visual C++音频视频处理技术及工程实践(charper 12-14源码)

Visual C++ 音频视频处理技术及工程实践 音频 视频

2010-06-10

Visual C++音频视频处理技术及工程实践(charper10源码)

Visual C++音频视频处理技术及工程实践(charper10源码)

2010-06-10

Visual C++音频视频处理技术及工程实践(charpter 1-9源码)

Visual C++音频视频处理技术及工程实践 书附带的源码

2010-06-10

CSBitmap类,可用于储存DIB位图,也可用于储存二维数列,解决二维数列传递不方便的问题,效率比GDI的bitmap高

class CSBitmap //Bitmap类,特点紧约型数据结构,GetPixel效率高,放弃调色板,自动支持4种色深,特有的12位颜色更接近人眼可识别颜色数目;有多种缩放,色深转换,拷贝,剪切,和hBitmap转换,显示等功能;支持串行化。支持1,12,24,32位位图,对应适用于所有函数,相比于HBitmap和CSBitmap对象要简单,可直接操作数据区;同时可用于1,4,8,12,16,24,32位二维数列的储存,部分基本函数(GetPixel,SetPixel)支持; { public: CSBitmap(void); ~CSBitmap(void); unsigned int Width; //Bitmap的宽 unsigned int Height; //Bitmap的高 DWORD BitSize; //Bitmap的数据区大小(字节) BYTE* pBitData; //Bitmap的数据区指针 unsigned int BitCount; //Bitmap的色深 bool SetAttribute(unsigned int mWidth=NULL, unsigned int mHeight=NULL, unsigned int mBitCount=NULL); //设置Bitmap的属性,Bitmap会被清除 mWidth Bitmap的宽度,为NULL则不改变 mHeight Bitmap的高度,为NULL则不改变 mBitCount Bitmap的色深,为NULL则不改变 bool ImportBits(BYTE* lpBits, int mBitSize=NULL); //拷贝Bits数据进对象数据区 lpBits 拷贝数据的指针 mBitSize 拷贝数据的字节数 COLORREF GetPixel(unsigned int x, unsigned int y); //获得某点的原始数值,当为12,24,32位数时,则为RGB值 X,y 需要获取点的坐标 bool SetPixel(unsigned int x, unsigned int y, COLORREF clr); //获得某点的原始数值,当为12,24,32位数时,则为RGB值 X,y 需要设置点的坐标 bool StretchDIB(CSBitmap* DestBmp, unsigned int mWidth, unsigned int mHeight, unsigned int mFlag=0); //缩放 DestBmp用于获取缩放后图片的指针 mWidth, mHeight缩放后大小 mFlag缩放算法 取值 算法 缩小 放大 0 逆向寻点算法 效率高,质量一般 效率高,质量中 1 双线性补点 效率低,质量一般 效率低,质量高 2 平均值算法 效率低,质量好 效率高,质量差 static BYTE GetRValue12(COLORREF Clr12Bit); static BYTE GetGValue12(COLORREF Clr12Bit); static BYTE GetBValue12(COLORREF Clr12Bit); //用于12位图的获取RGB分量,24位图,32位图的COLOR分离请用GDI的GetPixel() Clr12Bit 对12位图GetPixel获得的原始值 static COLORREF RGB12(BYTE R, BYTE G, BYTE B); //用于12位图的RGB合成,24位图,32位图的COLOR合成请用GDI的RGB() static COLORREF Color24To1(COLORREF Color24); //24位色深COLORREF转1位色深(黑白)值 static COLORREF Color24To12(COLORREF Color24); //24位色深COLORREF转12位色深值 static COLORREF Color1To24(COLORREF Color2); //1位色深COLORREF转24位,32位色深(黑白)值 static COLORREF Color12To24(COLORREF Color12); //12位色深COLORREF转24位,32位色深(黑白)值 bool ConvertTo1Bit(CSBitmap* DestBmp); //12,24,36位图片转换成1位色深图 DestBmp用于接收数据的DestBmp指针,转换过程中包括自动参数重置 bool ConvertTo12Bit(CSBitmap* DestBmp); //1,24,36位图片转换成12位色深图 DestBmp用于接收数据的DestBmp指针,转换过程中包括自动参数重置 bool ConvertTo24Bit(CSBitmap* DestBmp); //1,12,36位图片转换成24位色深图 DestBmp用于接收数据的DestBmp指针,转换过程中包括自动参数重置 bool FromHandle(HBITMAP hBitmap); //从HBITMAP中获得CSBitmap对象 bool CopyPaste(CSBitmap* DestBmp, unsigned int x, unsigned int y); //复制本CSBitmap至另一DestBmp的指定位置 DestBmp 目标,对象 X,y复制后图片左上角位置 bool PaintDIB(CDC* dcDest, int x,int y,unsigned int mWidth, unsigned int mHeight); //把本图片显示至CDC对象上,支持1,12,24,26位图 dcDest 目标dc(兼容DC) x,y 拷贝到dc上的位置 mWidth,mHeight拷贝后的大小 const CSBitmap& operator=(const CSBitmap &SBmp); }; //重载了 = 赋值操作符

2010-06-10

12位色深的DIB类

8位似乎太小,24位又体积太大. 所以无聊做了个12位色深的DIB格式

2010-06-06

基于Directshow的摄像头预览和截图程序,附通俗说明

通过DirectX 2010SDK和VS2008开发 包含了sample Grabber调用遇到的一些问题

2010-06-01

空空如也

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

TA关注的人

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