自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (4)
  • 收藏
  • 关注

原创 googletest入门

googletest

2023-07-25 11:17:41 90

原创 lighttpd入门以及HTML与CGI的交互

嵌入式网页入门

2023-07-02 13:48:54 505

原创 linux使用mingw32交叉编译socket程序入门

5:write发送socket数据时,发不出去,得使用send。4:mingw32编程时fwrite写文件时自动多了0X0D。1:编译环境,安装合适的mingw编译链。

2023-05-16 22:14:05 562

原创 sock_create函数理解

如PF_INET中是使用inet_add_protocol接口添加的类型,如tcp udp icmp igmp,但是目前很多代码中创建tcp/udp的socket的时候,protocol写的是0。family:内核中使用sock_register注册的family。注意是PF_开头的,(而不是AF_开头的,即便这2者几乎没有差别)而netlink中使用的是类似NETLINK_GENERIC的值,所以family使用的是Protocol families,protocol:根据family来决定具体参数。

2023-05-10 20:07:03 322

原创 Opencv python基础入门(8)---图片倾斜矫正

图片倾斜矫正# -*- coding: UTF-8 -*- import numpy as npimport cv2import matplotlib.pyplot as pltimport osimport copypath = os.path.dirname(__file__)os.chdir(path)## 图片旋转def rotate_bound(image, angle): #获取宽高 (h, w) = image.shape[:2] (cX, c

2022-04-29 17:08:20 4136

原创 Opencv Python 综合练习1---读取银行卡卡号

import osimport cv2import numpy as nppath = os.path.dirname(__file__)os.chdir(path)test_mode=1#读取图片,cv2.IMREAD_GRAYSCALE可以只提取灰度信息img = cv2.imread("yinghanka_2.jpg",cv2.IMREAD_GRAYSCALE)img=cv2.GaussianBlur(img,(3,3),cv2.THRESH_BINARY_INV)cv2.im

2022-04-28 16:22:36 3569

原创 Opencv python基础入门(7)---傅立叶变换

本文涉及傅立叶变换:代码如下:#读取图片,cv2.IMREAD_GRAYSCALE可以只提取灰度信息img = cv2.imread("colorCheck.jpg",cv2.IMREAD_GRAYSCALE)#傅里叶变化得到各个频率的复数结果并且把低频数据移到中间f=np.fft.fft2(img)fshift=np.fft.fftshift(f)result=20*np.log(np.abs(fshift))#高通滤波器,低频信息为比如草原图片中的草,高频数据为图像的边缘信息,如草

2022-04-06 09:39:29 128

原创 Opencv python基础入门(6)---直方图以及直方图均衡化

本文涉及图像直方图以及直方图均衡化:代码如下:#读取图片,cv2.IMREAD_GRAYSCALE可以只提取灰度信息img = cv2.imread("colorCheck.jpg",cv2.IMREAD_GRAYSCALE)#直方图均衡化,重点需要理解img_eq=cv2.equalizeHist(img)#计算直方图,使用mask统计感兴趣区域的直方图,注意[img]需要加[],mask=np.zeros(img.shape,np.uint8)mask[200:500,200:50

2022-04-06 09:38:30 2835

原创 Opencv python基础入门(5)---图像金字塔

本文主要涉及图像金字塔代码如下:#图像金字塔--向下采样img_d1=cv2.pyrDown(img)#图像金字塔--向下采样img_u1=cv2.pyrUp(img)#拉普拉斯金字塔 Li=Gi - up(down(Gi)),#up down 不可逆,会丢失图像信息img_l0=img-cv2.pyrUp(img_d1)...

2022-04-06 09:07:40 1743

原创 Opencv python基础入门(4)---sobel算子及边缘检测

本文主要介绍sobel算子及边缘检测:代码如下:#sobel,ddepth如果设置为-1的话,水平处理只能取出左边界,右边界为负值丢失了,所以需要先用64F扩展然后用convertScaleAbs转换#dx,dy都设置为1和使用addWeighted用法差别:addWeighted更细节img2=cv2.Sobel(img,ddepth=cv2.CV_64F,dx=1,dy=0,ksize=3)img3=cv2.Sobel(img,ddepth=cv2.CV_64F,dx=0,dy=1,ks

2022-04-06 09:06:18 446

原创 Opencv python基础入门(3)---形态学变换

本文主要介绍形态学变换代码如下:o1=np.zeros((3,3,3))img[250:253,350:353]=o1img[50:53,150:153]=o1kernel=np.ones((3,3),np.uint8)#形态学变化-腐蚀,iterations代表腐蚀次数img2=cv2.erode(img,kernel,iterations=10)#形态学变化-膨胀img3=cv2.dilate(img,kernel,iterations=2)#开运算,腐蚀->膨胀 可以有

2022-04-06 09:05:05 2020

原创 Opencv python基础入门(2)---降噪

本文主要设计图像的降噪代码如下:#阈值分割图像,共有6种模式,threshold返回值有2个,第一个是阈值,第2个是处理结果ret,img2=cv2.threshold(img,127,255,cv2.THRESH_BINARY)#均值滤波img2=cv2.blur(img,(3,3))#方框滤波,比均值滤波多了归一化处理选择,不做归一化,容易图像过曝img2=cv2.boxFilter(img,-1,ksize=(3,3),normalize=0)#高斯滤波,sigmX,控制X方向的

2022-04-06 09:04:03 2710

原创 Opencv python 基础入门(1)---图片读写以及像素操作

本文只要展示文件操作以及显示,像素操作python 需要安装的模块:import cv2import numpy as np具体代码:import cv2import numpy as np#读取图片,cv2.IMREAD_GRAYSCALE可以只提取灰度信息img = cv2.imread("colorCheck.jpg")#shape函数返回图片信息,如果是灰度图片,那返回值只有行和列的元祖,否则,还会返回通道数info=img.shape#提取指定通道的数据,b

2022-04-06 09:02:29 2272

原创 SDL入门

SDL入门:SDL2入门教程(01_hello_SDL)_只看不写的小咸鱼的博客-CSDN博客_sdl2教程Lazy Foo' Productions - Hello SDL: Your First Graphics Windowapt-getinstalllibsdl2-devg++ 01_hello_SDL.cpp -I/usr/include/SDL2 -L/usr/lib -lSDL2-lstdc++ -o test[踩坑笔记]sdl2/minGW-64 unde...

2022-03-28 22:48:31 303

原创 windows bat脚本---自动上传文件

学习网址:windows常用命令 - 可可西 - 博客园命令参数的路径:要使用反斜杠'\',不要使用正斜杠'/' 如:del d:\test2\file\my.txt命令参数的路径:若存在空格,应使用双引号将路径引起来 如:del"d:\program files\file\my.txt"文件及目录名中不能包含下列任何字符:\ / : * ? " < > |rem// 在批处理文件中添加注解,其后的命令不会被执行,但会回显:: //::也可以起到rem的注释作...

2022-03-28 22:44:50 779

原创 C中内嵌汇编入门

GNU 内联汇编:gnu嵌入汇编,内嵌汇编详细的介绍_梦悦foundation的博客-CSDN博客_内嵌汇编intelandgnugas系列之gnu内嵌汇编格式,以x86为例_memdev_新浪博客C和汇编如何互相调用?嵌入式工程师必须掌握 - 维科号"__asm__" 表示后面的代码为内嵌汇编,“asm”是“__asm__”的别名。“__volatile__” 表示编译器不要优化代码,后面的指令保留原样,“volatile”是它的别名。 括号里面是汇编指令。基于上面的这些介...

2022-03-28 22:31:42 635

原创 libevent最小堆图解

1:介绍之前先理解树的存储方式,参考图中的0-14的树结构,图片左下角,libevent使用的是顺序存储结构,一句话描述就是完全二叉树的顺序存储,仅需从根节点开始,按照层次依次将树中节点存储到数组即可2:插入:图中列举了依次插入9,8,7,6,5,4的情况,与实验结果相符合3:解释下代码中有段不太好理解的代码:min_child -= min_child == s->n || min_heap_elem_greater(s->p[min_child], s->p[m...

2021-11-28 18:08:19 307

原创 dshow的Hellowrold以及获取camera数据

dshow的Hellowrold以及获取camera数据#include "stdafx.h"#include <stdio.h>#include <stdlib.h>#include <atlbase.h>#include <windows.h>#include <fstream> #include <iostream> using namespace std;#include<iostream>

2021-05-23 20:02:26 185

原创 H264宏块类型及Intra Inter介绍

H264宏块类型及Intra Inter介绍本文使用工具:Elecard StreamEye Tools首先看下I slice帧的情况:可以看到下图都是红色mb类型I slice帧包含的宏块类型有0-25,主要有Intra_4x4 Intra_16x16 I_PCM,都属于帧内宏块预测模式,但是各有不同上图中的slice_number代表该宏块所处的slice序号其次 我们来看下P slice的情况:上图中蓝色的就是0-4的5种宏块类型以及黄色的pskip类型宏块,其中pskip可以有效

2020-12-21 20:38:41 907

原创 kernel tasklet使用注意点

kernel tasklet使用注意点:1:irq event 361: bogus return value 29错误,中断处理函数结束后需要放回IRQ_HANDLED,如果是针对共享型中断,如果不是对应的中断处理函数应该回IRQ_NONE,如何区分是否为该中断,检查dev_id即可,对于共享型中断,dev_id不能为NULL指针2:静态定义并初始化:#define DECLARE_TASKLET(name, func, data) struct tasklet_struct name = { N

2020-12-06 10:32:13 170

原创 ITOP4412 讯为开发版调试ALSA声卡

ITOP4412 讯为开发版调试ALSA声卡ALSA 移植1:alsa-lib 编译:版本1.0.22https://blog.csdn.net/chunleigan/article/details/21000127./configure --host=arm-none-linux-gnueabi CC=arm-none-linux-gnueabi-gcc --prefix=/home/topeet/alsa-lib/ --disable-mixermakemake install2:alsa

2020-12-06 10:26:31 651

原创 uboot运行脚本语言用法

uboot运行脚本流程控制:if ; then ; [ elif ; then ; ] … [ else ; ] fiwhile ; do ; doneuntil ; do ; donefor in ; do ; donetest命令用来比较两个环境变量,比如if test ${ip_dyn} = yes; 判断ip_dyn变量是否为yes可惜的是uboot下无法做算数运算注意:有些命令的返回值有时候有点不太对劲,如tftp 0x21000000 u

2020-12-06 10:14:13 1108

原创 UBOOT tftp高级用法命令

UBOOT tftp命令1:TFTP_MTU_BLOCKSIZE如果定义了CONFIG_TFTP_BLOCKSIZE,就用CONFIG_TFTP_BLOCKSIZE的值,否则默认就是1468,或者是环境变量tftpblocksize的值2:默认环境变量及与宏的对应:include/env_default.h中的变量:default_environment比如:#ifdef CONFIG_BOOTARGS“bootargs=” CONFIG_BOOTARGS “\

2020-12-06 10:12:05 806

原创 uboot load address、entry point、 bootm address以及kernel运行地址的意义及联系

linux基础之uboot load address、entry point、 bootm address以及kernel运行地址的意义及联系按各地址起作用的顺序,uboot引导linux内核启动涉及到以下地址:1. load address:2. entry point: 这个地址及load address 是mkimage时指定的3. bootm address:bootm为uboot的一个命令,以此从address启动kernel4. kernel运行地址:在具体mach目录中的M

2020-12-06 10:09:40 508

原创 qt-everywhere 交叉编译安装

qt-everywhere安装:下载地址:http://download.qt.io/archive/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.tar.gz.mirrorlist产考地址:https://www.dazhuanlan.com/2019/08/18/5d59671023617/https://my.oschina.net/u/4289610/blog/3418189http://www.360doc.com/content/12/0

2020-12-06 09:51:34 3014 1

原创 ST下载提示No Cortex-M SW Device Found

本次问题出现原因:在初次使用ST cube的时候选择了对所有PIN设置模拟输入来降低功耗,导致SWD下载一次后,下次就提示No Cortex-M SW Device Found。解决办法:在启动前设置ST的MCU启动顺序,即把BOOT0置高,这样引脚就可以保持SWD所需要的配置,从而保证连接。后续猜想:单独设置SWD所对应的PIN,不设置为模拟输入,应当也可以解决问题

2017-09-24 17:53:32 5205

S130 蓝牙低功耗 外设

The S130 SoftDevice is a Bluetooth® low energy (BLE) Central and Peripheral protocol stack solution. Itsupports up to eight connections with an additional Observer and a Broadcaster role all running concurrently.The S130 SoftDevice integrates a BLE Controller and Host, and provides a full and flexib

2020-12-06

新一代液晶显示系统设计与实现.pdf

随着时代的演进和科技的进步,液晶显示已经在现代科技产品中得到广泛应用,为了提高液晶显示系统在带有电容触摸技术的现代电子产品中开发与应用.文章中采用新一代8位STM8S208系列MCU和ET一12864F液晶显示模块,设计了一种新型的液晶显示系统;同时介绍了STM8S208单片机的优越性和ET一12864F液晶显示模块的具体操作方法,并给出了单片机STM8S208与液晶显示横块ET—IZ864F构建的硬件接口电路和程序设计;经实践应用,该液晶显示系统应用开发成本低,效率高具有较好的项目应用参考价值。

2020-12-06

家用智能门镜开发.pdf

系统的下位机数据采集系统以STM8S单片机为核心,通过LabVIEW编程实现无线网络环境中数据的远程传输,上位机管理系统以LabVIEW为开发平台,利用其图形显示功能,实现对数据的显示、分析及处理。测试结果表明该系统具有较高的精确性、保密性、稳定性、能实现实时的监控

2020-12-06

STM32 小系统代码

STM32 多任务轮询 小系统。。

2020-12-06

空空如也

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

TA关注的人

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