自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(413)
  • 资源 (62)
  • 收藏
  • 关注

原创 NET6 appsettings.json

NET6 appsettings.json。

2023-07-06 15:06:20 341

原创 Spring Security 笔记

Spring Security

2023-05-29 17:56:57 1167 1

原创 C语言读取BMP文件

BMP图像编码BMP即bitmap,也就是位图,一般由4部分组成:文件头信息块、图像描述信息块、颜色表(在真彩色模式无颜色表)和图像数据区。在图像数据之前,如图所示,共有54位数据其中,0x424d在十进制为19778,对应的ASCII码为BM,表示这是个bitmap文件。Windows的数据是倒着念的,这是PC电脑的特色。如果一段数据为42 4D,倒着念就是4D 42,即0x4D42。因此,如果bfSize的数据为A2 1E 04 00,实际上就成了0x00041EA2,也就是0x41EA2

2022-05-23 15:07:20 3449 3

原创 使用lambda在循环中传参时,参数总为同一个值

当我使用PyQt5时,需要在调用事件时传入参数,于是想到了lambda函数,代码如下: for i, button in enumerate(self.button_dict.values()): button.clicked.connect(lambda: self.click_checkbox(i))此时i都是同一个值。lambda函数(或称闭包)传递的不是参数的值,而是参数的物理地址,所以lambda传递的参数都会是同一个值。想要解决可以使用functools模块。解决方案

2022-04-28 13:29:51 539

原创 ES6 let 和 const 命令

let 基本用法let命令,用来声明变量。它的用法类似于varlet a = 10;var b = 1;不存在变量提升var命令会发生“变量提升”现象,即变量可以在声明之前使用,值为undefined// var 的情况console.log(foo); // 输出undefinedvar foo = 2;// let 的情况console.log(bar); // 报错ReferenceErrorlet bar = 2;暂时性死区ES6 明确规定,如果区块中存在let和co

2022-03-10 10:01:51 259

原创 Axios 使用说明

安装使用npm$ npm install axios使用cdn<script src="https://unpkg.com/axios/dist/axios.min.js"></script>GET// 为给定 ID 的 user 创建请求axios.get('/user?ID=12345') .then(function (response) { console.log(response); }) .catch(function (error)

2022-03-09 17:27:46 476

原创 ES6 Promise 对象

Promise 是异步编程的一种解决方案:Promise是一个对象,通过它可以获取异步操作的消息;promise有三种状态:pending(等待态),fulfilled(成功态),rejected(失败态);状态一旦改变,就不会再变。创造promise实例后,它会立即执行。**基本用法 const promise = new Promise(function (resolve, reject) { let p = { co.

2022-03-09 07:00:52 189

原创 vscode 快速生成html模板

VSCode中,在新建html的页面生成代码,可以 输入! 然后回车或者Tab即可自动生成一个html文件模板,效果如下

2022-02-08 08:21:42 5724 17

原创 vs2019 使用向导生成一个MFC应用程序

创建项目选择mfc模板配置项目运行类视图双击类名即可跳转到类声明所在的.h文件下面为类中的成员函数,双击即可跳转到相应的定义部分消息处理的添加在CMainFrame添加消息处理,程序并没有反应,需要在view层操作上述过程。在消息列表中找到WM_LBUTTONDOWN消息,添加。工程文件增加几处改变。第一处:在框架类头文件中添加了鼠标左键消息函数的函数声明第二处:在框架类cpp文件中添加了消息映射宏第三处:在框架列cpp文件中添加了处理鼠标左键消息的函数定

2021-10-03 11:33:26 807

原创 vs2019 第一个MFC应用程序

创建项目项目的创建和之前一样,只是此次的源文件后缀为.cpp,因为MFC是由C++编写的,编写MFC程序需要包含**#include <afxwin.h>**头文件。编写代码mfc.h#pragma once#include <afxwin.h>class MyApp :public CWinApp//CWinApp应用程序类{public: //程序入口 virtual BOOL InitInstance();};class MyFrame :publ

2021-10-03 09:25:28 758

原创 vs2019 桌面程序快速入门

创建项目选择windows桌面向导配置项目选择程序类型编写代码#include <windows.h> //底层实现窗口 的头文件//6处理窗口过程//CALLBACK 代表__stdcall 参数的传递顺序:从右到左 以此入栈,并且在函数返回前 清空堆栈LRESULT CALLBACK WindowProc( HWND hwnd, //消息所属的窗口句柄 UINT uMsg, //具体消息名称 WM_XXXX 消息名 WPARAM wParam, //键盘

2021-10-03 08:06:48 2065

原创 python图像灰度变换

二值化非0元素取1法非零元素取一法是最基础的二值化算法。顾名思义,非零取一就是对于灰度图像f,若某像素灰度值为零,则其灰度值不变,仍为零;对于灰度值不为零的像素,将其像素值全部变为255。img = np.zeros((w, h), dtype=np.uint8) for j in range(h): for i in range(w): if grey[j, i] != 0: img[j, i] = 255固定阀值法固定阀值法就是为灰度

2021-09-28 21:30:04 2932 1

原创 python图像几何变换

图像的平移图像平移(Translation)是将图 像中所有的点都按照指定的平移量,进行水平、垂直移动。x=self.trans.xy=self.trans.y# img[x:h-1,y:w-1]=image[0:h-1-x,0:w-1-y]for j in range(h): for i in range(w): i0=i+x j0=j+y if(i0>=0) and (i0<w) and (j0>=0)and (j.

2021-09-25 21:45:22 606

原创 python 图像特效

图像扫描扫描是最基本的特效显示方式,它没有划分图像块,只是顺序地一行一行或一列一列地显示图像或清除图像。向下扫描、向上扫描、向右扫描、向左扫描。四种扫描的原理相同。只是显示图像的次序不同。 self.lb_2.setPixmap(QPixmap("")) # 绘制图像 image = self.image.xBitmap.img_org image = cv2.cvtColor(image, cv2.COLOR_BGR2RGBA) h,.

2021-09-24 18:16:07 612

原创 MTCNN人脸检测

MTCNN可实现两个任务——人脸检测与人脸关键点检测。MTCNN已经集成到了python的库中。安装注意:安装前需要确认以下依赖:python >= 3.4opencv >= 4.1Keras>=2.0.0pip install mtcnn人脸检测from mtcnn import MTCNNimport cv2img=cv2.imread("../datas/face/ldh2.jpg")img = cv2.cvtColor(img, cv2.COLOR_BG

2021-08-30 09:35:19 393

原创 人脸识别 face_recognition

导入face_recognition模块import face_recognitionload_image_file 加载图像调用face_recognition.load_image_file()读入图像。输出图像是rgb格式(opencv中是bgr格式)import face_recognitionimage = face_recognition.load_image_file("../datas/obama.jpg")face_locations 人脸检测能定位所有图像中识别出的人

2021-08-26 10:49:39 1015

原创 python数字图像处理笔记17 形态学

膨胀效果:扩大图像中的物体定义:设 A 为原始二值图像,B 是结构元素,则 A 被 B 膨胀定义为:def Morphology_Dilate(img, Dil_time=1): H, W = img.shape # kernel MF = np.array(((0, 1, 0), (1, 0, 1), (0, 1, 0)), dtype=np.int) # each dilate ti

2021-07-01 19:32:38 289 1

原创 python数字图像处理笔记16 滤波增强

空域滤波增强空域滤波增强也称为模板操作,主要以像素邻域为基础对图像进行增强,增强函数E()定义在像素点(x,y)的某个邻域上。模板是指滤波器、核、掩模或窗口。邻域可以是任意形状,通常采用正方形或矩形阵列。空域滤波增强的基本原理是利用图像与模板的卷积来进行。模板通常取尺寸为n×n的小图像,n一般为奇数,此时,模板的半径定义为:r=(n-1)/2。空域滤波增强可分为以下4类(1)线性平滑滤波器(2)非线性平滑滤波器(3)线性锐化滤波器(4)非线性锐化滤波器均值滤波均值滤波器使用网格内像素的平

2021-07-01 16:52:15 568 1

原创 python数字图像处理笔记15 灰度变换

灰度变换属于空域变换增强技术。目的:一般成像系统形成图像的亮度有限,对比度不足,使图像的视觉效果差,灰度变换即可有效地改善视觉效果。概念:灰度变换是一种点操作,根据原始图像中每个像素的灰度值,按照某种映射规则将其转化为另一灰度值。灰度变换可有效改善图像的视觉效果,变换原理可表示为如式所示:式中:k为原始图像的灰度值f(x,y),t为变换图像的灰度值g(x,y),E()为灰度增强函数。原理:灰度变换原理可由图来说明,其中,图(a)为原始图像,具有两种灰度级,分别用B和W来表示;图(b)为灰度增

2021-07-01 15:30:21 2435

原创 python数字图像处理笔记14 直方图处理

绘制直方图表示图像中具有某种灰度级的像素的个数,反映了图像中每种灰度出现的频率。它是图像最基本的统计特征。横坐标:灰度级;纵坐标:该灰度级出现的个数。def hist(img): list=np.zeros(256,dtype=np.float) if len(img.shape) == 3: img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) H, W=img.shape for y in range(H):

2021-07-01 10:47:50 316

原创 python数字图像处理笔记13 逻辑运算

与运算与运算是指将两幅原始图像对应位置处两个像素的灰度值通过与操作得到一个新的灰度值,作为结果图像对应位置处像素的灰度值。设两个像素为p和q,则与运算可表示为:两幅图像的矩阵数据如下所示,试求X·Y的结果。两幅图像相与的结果为:img1 = self.xBitMap1.imgimg2 = self.xBitMap2.imgout=img1&img2XImage.imShow(out, self.lb3)或运算或运算是指将两幅原始图像对应位置处两个像素的灰度值通过或操作得到

2021-06-30 22:44:51 1079 3

原创 python数字图像处理笔记12 算术运算

加法加法运算是指将两幅原始图像对应位置处两个像素的灰度值相加得到一个新的灰度值,作为结果图像对应位置处像素的灰度值。设两个像素为p和q,则加法运算可表示为:式中:f(x)为像素x的灰度值。注意:由于图像像素的灰度值范围为[0,255],因此,相加结果如果大于255,则取255。def add(img1,img2): H1, W1, C1 = img1.shape # H2, W2, C2 = img2.shape out = np.zeros((H1, W1, C1),

2021-06-30 16:50:57 916

原创 python数字图像处理笔记11 几何变换代码实现

平移def translate(img, tx, ty): H, W, C = img.shape # out = np.zeros((H, W, C), dtype=np.uint) out1 = np.zeros((H + ty, W + tx, C), dtype=np.uint8) # 必须是8 不然显示不出图像 out2 = np.zeros((H, W, C), dtype=np.uint8) # 必须是8 不然显示不出图像 out3 = np.z

2021-06-30 10:37:27 376

原创 python数字图像处理笔记10 图像旋转

图像旋转旋转前旋转后矩阵表示def rotate(img, angle): H, W, C = img.shape anglePi = angle * math.pi / 180.0 cosA = math.cos(anglePi) sinA = math.sin(anglePi) out = np.zeros((H, W, C), dtype=np.uint8) # 必须是8 不然显示不出图像 for y in range(H):

2021-06-25 10:56:45 1758 2

原创 python数字图像处理笔记09 灰度插值算法 pyqt5界面

界面初始化图片 def initData(self): self.xBitMap = XImage.openImage(os.path.join(XImage.xpath,"ch03", "imori.jpg"), self.lb1)绑定按钮事件 self.btn_nearest.clicked.connect(lambda: self.nearest_handler()) self.btn_bilinear.clicked.connect(lambda:

2021-06-23 14:48:00 380

原创 python数字图像处理笔记08 双三次插值(没学会)

理解不了,暂时记录到这里吧!双三次插值是双线性插值的扩展,使用邻域 像素进行插值。我们要做的就是求出BiCubic函数中的参数x,从而获得上面所说的16个像素所对应的系数。

2021-06-23 14:20:37 289

原创 python数字图像处理笔记07 双线性插值法 ~~~这就是为什么要学数学的例子!

单线性插值已知中P1点和P2点,坐标分别为(x1, y1)、(x2, y2),要计算 [x1, x2] 区间内某一位置 x 在直线上的y值2点求一条直线公式

2021-06-23 10:53:44 560

原创 python数字图像处理笔记06 最近邻插值法

最近邻插值法在一维空间中,最近点插值就相当于四舍五入取整。在二维图像中,像素点的坐标都是整数,该方法就是选取离目标点最近的点。使用下面的公式放大图像! I’ 为放大后图像, I为放大前图像, a为放大率,方括号是四舍五入取证操作...

2021-06-22 21:19:00 1722 1

原创 python数字图像处理笔记05 几何变换

平移变换(Translation Transformation)指将图像沿某方向平移来获取新图像的变换方法。设空间中一个点的笛卡尔坐标为(x,y,z),基于平移向量(a,b,c)将其平移到新的坐标(x’,y’,z’)。放缩变换(Scale Transformation)也称为尺度变换,指将图像在某方向按比例缩放来获取新图像的变换方法。放缩变换改变了图像的尺寸,即改变了图像像素点间的距离。放缩变换一般沿坐标轴方向进行,或可分解为沿坐标轴方向进行。当放缩系数a、b、c不为整数时,原始图像中某些像素

2021-06-21 16:00:49 1115

原创 python数字图像处理笔记04 像素空间关系

像素的邻域一个像素的邻近像素组成该像素的邻域。像素邻域的类型如图所示:1. 4-邻域N4§由p的水平(左右)和垂直(上下)共4个近邻像素组成。这些近邻像素的坐标分别是(x+1,y),(x-1,y),(x,y-1),(x,y+1)。组成p的4-邻域的4个像素均用r表示。2. 对角邻域ND§由p的对角(左上、右上、左下、右下)共4个近邻像素组成。这些近邻像素的坐标分别是(x+1,y+1),(x+1, y-1),(x-1,y+1),(x-1,y-1)。组成p的对角邻域的4个像素均用s表示。3.

2021-06-20 21:58:52 1024 1

原创 python数字图像处理笔记03 代码实现

数字图像表示方式 self.xBitMap = XImage.openImage(os.path.join(XImage.xpath, "ch01","F1_7a.jpg"), self.lb1) self.xBitMap2 = XImage.openImage(os.path.join(XImage.xpath, "ch01","F1_7b.jpg"), self.lb2)图像质量空间分辨率变化、幅度分辨率不变 img=self.xBitMap.img dsize0 =

2021-06-20 21:36:57 402 6

原创 python数字图像处理笔记02 图像的采集

采样和量化一幅图像必须要在空间和灰度上都离散化才能被计算机处理。空间坐标的离散化叫做空间采样(简称采样),它确定了图像的空间分辨率。灰度值的离散化叫做灰度量化(简称量化),它确定了图像的幅度分辨率。采样过程可看作将图像平面划分成规则网格,每个网格中心点的位置由一对笛卡尔坐标(x,y)决定,x和y均取整数。量化过程是给点(x,y)赋予灰度值f,f取整数。采样和量化示意图如图所示。分辨率与数据量如果一幅图像的尺寸(空间分辨率)为M×N,表明在成像时采集了MN个样本,或者说图像包含MN个像素。如果对每

2021-06-20 14:39:40 3077

原创 python数字图像处理笔记01 图像的基本概念

图像的定义图像是用各种观测系统以不同形式和手段观测客观世界而获得的,可以直接或间接作用于人眼并进而产生视知觉的实体。一幅图像可以定义为一个二维函数f(x,y):x和y表示2-D空间XY中一个坐标点的位置;f表示图像在点(x,y)处的某种性质F的值;例如1:灰度图的f表示灰度值,它常对应客观景物被观察到的亮度。例如2:二值图像的f的取值只有两个。f,x,y的值是连续的,即可以是任意实数。数字图像把连续的图像f(x,y)在2-D空间XY和性质空间F都离散化,这种离散化了的图像叫做 数

2021-06-20 10:41:56 465

原创 VS2019 OpenCV3.4.11 整合

1. OpenCV下载及安装解压缩到你想安装的文件夹。环境变量工程配置打开项目工程属性,需要添加工程要用到的头文件、库文件。选择平台添加头文件路径添加库目录链接库的配置相应的库文件名可以去OpenCV文件的build/x64/vc15/lib下查找测试#include<opencv2/opencv.hpp>#include<iostream>using namespace cv;int main(int argc, char** arg

2021-06-18 10:38:28 90

原创 图像数字处理 100问 pyqt5版

主界面问题 1-10问题 11-20

2021-06-14 19:49:49 198 2

原创 OpenCV pyqt5 版

主界面图像几何变换图像二值化

2021-06-10 16:49:42 270 2

原创 PyQt5入门 配置pycharm

环境python 3.7Qt5 Version Number is: 5.15.2PyQt5 Version is: 5.15.4配置PyCharm添加QtDesignerProgram----C:\Python\Python37\Lib\site-packages\qt5_applications\Qt\bin\designer.exe添加PyUICname----PyUICProgram----C:\Python\Python37\Scripts\pyuic5.exeArgume

2021-06-05 16:24:19 131

原创 PyQt5入门 创建一个简单的窗口

Qt库是最强大的GUI支持库的一种。PyQt5的官方 https://www.riverbankcomputing.com/安装PyQt5pip install PyQt5pip install pyqt5-tools最基本的windows窗口import sysfrom PyQt5.QtWidgets import QApplication, QWidgetif __name__ == '__main__': # 每个应用程序都必须实例化一个QApplication()

2021-06-05 16:02:20 408

原创 数字图像处理 锐化滤波器

锐化处理的主要目的是突出图像中灰度的过渡部分图像的锐化处理可以用空间微分来完成(微分算子的响应强度与像素的突变程度成正比)。也即,图像微分增强边缘与其他突变(如噪声、线),并削弱灰度变化缓慢的区域常用的非线性锐化滤波器基于一阶微分的锐化滤波器基于二阶微分的锐化滤波器数字图像微分的定义数字图像的微分可以用不同的术语定义,但任何定义都必须满足以下要求:(1)一阶微分在恒定灰度区域的一阶微分值为零在灰度台阶、灰度斜坡的起点处一阶微分值非零沿着灰度斜坡的一阶微分值非零(2)二阶微分.

2021-05-16 11:12:58 3222

原创 c# 数字图像处理 点运算

理论知识https://blog.csdn.net/imxlw00/article/details/116018216?spm=1001.2014.3001.5501绘制直方图 Rectangle rect = new Rectangle(0, 0, bmpHist.Width, bmpHist.Height); System.Drawing.Imaging.BitmapData bmpData = bmpHist.LockBits(rect, System.Drawing.Imaging.Imag

2021-05-07 16:56:20 197

设计模式--代理模式

设计模式--代理模式设计模式--代理模式设计模式--代理模式设计模式--代理模式设计模式--代理模式

2009-03-20

设计模式--装饰模式

设计模式--装饰模式 设计模式--装饰模式 设计模式--装饰模式 设计模式--装饰模式

2009-03-20

面向对象设计原则(整理)

单一职责原则(SRP)、开放-封闭原则(OCP)、Liskov替换原则(LSP)、依赖倒置原则(DIP)、接口分离原则(ISP)

2009-03-19

10_图书馆管理系统

10_图书馆管理系统.rar 10_图书馆管理系统.rar 10_图书馆管理系统.rar 10_图书馆管理系统.rar

2009-03-17

09_在线考试系统 c#

09_在线考试系统 09_在线考试系统 09_在线考试系统

2009-03-17

08_超市进销存销售管理系统

08_超市进销存销售管理系统 08_超市进销存销售管理系统

2009-03-17

07_企业人事管理系统

07_企业人事管理系统 07_企业人事管理系统 07_企业人事管理系统

2009-03-17

06_餐饮管理系统 c#

06_餐饮管理系统 06_餐饮管理系统 06_餐饮管理系统

2009-03-17

05_企业QQ系统 c#

05_企业QQ系统 05_企业QQ系统 05_企业QQ系统

2009-03-17

04_卡拉OK点歌系统

卡拉OK点歌系统 卡拉OK点歌系统 卡拉OK点歌系统

2009-03-17

03_企业电话客服系统

03_企业电话客服系统 03_企业电话客服系统03_企业电话客服系统

2009-03-17

vb在线升级程序(源码)

一个小巧好用的互联网在线更新工具,支持显示下载进度,下载后支持即时执行更新,也可以自定义启动程序。主要这个代码不复杂,比较方便易用,没有其他第三方控件和API函数,在线更新的功能都具有。

2009-01-16

小财迷家庭理财收支管理系统

小财迷家庭理财收支管理系统 小财迷家庭理财收支管理系统

2009-01-12

C#字符串和正则表达式参考手册

18.C#字符串和正则表达式参考手册.pdf

2009-01-11

你必须知道的.NET

你必须知道的.NET你必须知道的.NET

2009-01-11

新手入门_Oracle 10G服务器安装图解

新手入门_Oracle 10G服务器安装图解

2009-01-03

OA办公自动化系统(c#2005)

OA办公自动化系统(c#2005)OA办公自动化系统(c#2005)

2009-01-03

C#精品案例解析100实例

C#精品案例解析100实例!!!C#精品案例解析100实例

2009-01-03

C#在VS2005_下的典型实例源码大全

C#在VS2005_下的典型实例源码大全

2008-12-24

ASP.NET v2.0 入门50例源码

ASP.NET v2.0 入门50例源码ASP.NET v2.0 入门50例源码

2008-12-17

CSS从入门到精通(第2版)

CSS从入门到精通(第2版)

2013-05-12

C#与.NET程序员面试宝典].靳华.胡鑫鑫

C#与.NET程序员面试宝典].靳华.胡鑫鑫

2013-05-11

JavaScript设计模式

JavaScript设计模式

2013-05-11

C#.4.0权威指南

C#.4.0权威指南

2013-05-11

ASP.NET夜话

ASP.NET夜话

2013-05-11

LINQ实战

LINQ实战

2013-05-11

5天驾驭JQuery教程

5天驾驭JQuery教程

2013-05-11

ASP·NET程序员成长攻略

ASP·NET程序员成长攻略

2013-05-11

王爽汇编语言 课件

王爽汇编语言 课件

2011-12-05

[Ruby.Programming_向Ruby之父学程序设计(第2版)]

[Ruby.Programming_向Ruby之父学程序设计(第2版)

2011-11-26

Python技术手册(第2版)

Python技术手册(第2版)

2011-11-26

Python基础教程(第2版)

Python基础教程(第2版)

2011-11-26

[jQuery攻略

[jQuery攻略

2011-11-26

NHibernate文档.chm

NHibernate文档.

2011-11-26

深入浅出ajax

深入浅出ajax

2011-11-26

.net_winform下代码计算统计工具

.net_winform下代码计算统计工具 .net_winform下代码计算统计工具 .net_winform下代码计算统计工具

2009-10-16

水木艾迪2009考研数学基础班讲义

水木艾迪2009考研数学基础班讲义 水木艾迪2009考研数学基础班讲义

2009-05-09

数据结构配套纯C代码

数据结构配套纯C代码 数据结构配套纯C代码 数据结构配套纯C代码 数据结构配套纯C代码

2009-04-07

严蔚敏:数据结构题集c语言版

严蔚敏:数据结构题集c语言版.pdf 严蔚敏:数据结构题集c语言版.pdf 严蔚敏:数据结构题集c语言版.pdf

2009-04-06

数据结构 C语言 严蔚敏(电子版)

数据结构 C语言 严蔚敏(电子版) 数据结构 C语言 严蔚敏(电子版) 数据结构 C语言 严蔚敏(电子版)

2009-04-06

空空如也

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

TA关注的人

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