自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 今日学习,关于二进制的学习及真实的物理实现

基本思考 下面给出的是计算机如何实现二进制加法的原理图 我们学习任何东西尽量思考别人是如何实现的 那么你可以从中学到如何举一反三,进而利用已知的东西去延伸出其他东西 而不是复制别人的结果,那么你可能获得的更多是抄袭能力而不是修改能力,甚至你发现不了有些东西蕴含的价值。下面出计算机加法时如何实现的简单图,你要去思考别人是怎么思考的,可能下图能给你带来意义,否则你仍然发现不了这东西对你有任何意义。需要读者有一点点二进制知识,希望对初学者有一点点帮助。

2023-12-27 22:30:43 454

原创 记录今日将C语言的Windows程序更改为python语言Windows程序,实现子窗口控制,类似微信程序框架最简单的原型

---------第一步 初始化类结构-python版本和C语言版本有一定的不同 某些域没有cbClsExtra-----------------------------------------buttonList.append(ButtonTuple(ButtonTypeConst1.BS_AUTORADIOBUTTON,"AUTORADIOBUTTON","自动选项按钮"))buttonList[i].szText, #按钮标题。cxChar,cyChar*(1+2*i), #按钮坐标。

2023-12-14 16:58:55 1449

原创 记录将C语言编写的Windows程序转换为python语言编写,演示具体效果在最后,这对初学者理解Windows消息机制及框架有一定参考作用

为了区分 我在自己定义的文件名都加了数字1为后缀,其中一个定义Windows常量的文件,没有使用的原因主要给大家展示自己可以定义常量替换库文件中的常量 但是为了与C语言风格统一 我使用自己定义的常量 同时python中大家注意一件事 就是常量尽量定义在一个单独的文件中 然后使用全称应用,比如在const.py文件中定义常量 WM_SETFOCUS=7,我们在引用的时候使用全称。#--------第二步 注册类---------------------------------------------

2023-12-13 08:06:43 1034

原创 记录一下如何使用python生成二维码 并简单练习命令行参数供初学者参考

parser.add_argument('-f', '--fileName', type=str, default="testdata.txt",help='输入文本文件名')parser.add_argument('-s', '--saveDirectory', type=str,default="output",help='输入文本文件名')parser.add_argument('-d', '--data', type=str,help='要生成的文本串')print("正在处理文件中数据",i)

2023-12-13 01:01:22 1090

原创 简单演示python 如何使用Windows动态链接库文件user32.dll

注意一点 由于C语言编写的是传值调用 所以使用结构是必须采取参数为引用传递 这样函数才能修改参数的#值 这里给一个获取当前鼠标位置的函数调用。#而且维护也很好 别人也容易阅读 如何你使用程序转换C语言为python语言 遵循原则的其他人些的程序。#很容易转换为python可用的形式 这和微软定义一致 目的增加通用性 我们遵循该原则可读性高。#如果我们不采用参数的引用传递 得到只是传值调用 结果和初始化时一样 python对数值类型默认。#我们同样很快转换为python语法。

2023-12-11 21:33:38 882

原创 python 中Windows编程一些心得

print("检测自己应用程序收到消息", msg.message, "十六进制", hex(msg.message))print("按下有窗口最大化最小化按钮的消息-- -----------")检测自己应用程序收到消息 33777 十六进制 0x83f1。按下有窗口最大化最小化按钮的消息-- -----------按下有窗口最大化最小化按钮的消息-- -----------按下有窗口最大化最小化按钮的消息-- -----------按下有窗口最大化最小化按钮的消息-- -----------

2023-12-11 12:22:28 575

原创 python 记录今日学习按键消息心得

print("你按下了键盘键,消息编号是:", msg, " ", hex(msg), "wParam的值是:", wParam," ",hex(wParam) ," lParam的值是:", lParam,"环境代码:",lParam>>29 & 0x1)print("你释放键盘键,消息编号是:", msg, " ", hex(msg), "wParam的值是:", wParam, " ", hex(wParam), " lParam的值是:", lParam,#wParam 参数是按键虚拟码。

2023-12-10 19:19:20 477

原创 python 调用Windows函数编写Windows程序,这一次在第一次基础上增加滚动条,绘图函数,以及输出文件内容 同时演示C语言数组结构如何在python中使用

print("注意!收到一个系统命令,通常不要返回,继续让消息传给系统处理:否则属于屏蔽系统命令,WM_SYSCOMMAND消息编号是:",msg," ",hex(msg),"wParam的值是:",wParam," lParam的值是:",lParam)print("你改变了窗口尺寸,消息编号是:", msg, " ", hex(msg), "wParam的值是:", wParam, " lParam的值是:", lParam)

2023-12-09 18:11:46 1020

原创 使用python正则表达式将vb语言定义的常量和数据结构文档转换为Python语言可以直接利用Windows函数直接使用这些常量或结构,顺便演示正则表达式的使用 供初学者参考

我会将详细代码给出 虽然结果有一点点未转换到 是因为我没有把所有情况的构造都分析完 但是基本思路已给出 稍微修改就行 同时我们可以参照此类做法将c++文档转换为python文档 这样既能增加我们对各种语言的复习 同时增加我们使用python编程的灵活性 我们可以借用其他语言的长处融入自己python程序 帮助自己解决更多的问题。#第02步 匹配 名称As类型部分 vb数组定义(number) \x28是左括号的十六进制 \x29是右括号的十六进制。

2023-12-09 02:05:25 492

原创 python 编写的windows实用演示程序 使用到C语言风格,同时对Windows消息机制进行演示

print("注意!收到一个系统命令,通常不要返回,继续让消息传给系统处理:否则属于屏蔽系统命令,WM_SYSCOMMAND消息编号是:",msg," ",hex(msg),"wParam的值是:",wParam," lParam的值是:",lParam)print("你改变了窗口尺寸,消息编号是:", msg, " ", hex(msg), "wParam的值是:", wParam, " lParam的值是:", lParam)

2023-12-07 18:06:37 1310 1

原创 第一个python版Windows程序 供初学者参考

---------第一步 初始化类结构-python版本和C语言版本有一定的不同 某些域没有cbClsExtra-----------------------------------------#-------第三步 创建程序主窗口-------------------------------------------------#--------第二步 注册类---------------------------------------------print("接收到绘制消息",msg)

2023-12-06 15:49:32 923 1

原创 创建C语言版本和python版本的Windows程序基本框架

基本想法 可以自定义自己不同的消息处理,以满足自己的实际需求 下面只是给出大概得框架。print("w参数",wPrame)print("l参数",lParam)print("消息编号",msg)在我的win10系统测试通过 供初学者参考。

2023-12-05 20:52:12 418

原创 python 下Windows api函数的研究

我们得到的返回值是 b'\x9e\x03\x00\x00Q\x02\x00\x0000000000000000000',其为16进制,由于我的是Intel处理器 属于小端编码 所以上面的结果正确读取应该是039e 0000 02Q 0000。中间的\x00\x00最初我不知道是什么 但通过分析\x02Q发现 因为Q的ASCII码十进制是81,转为十六进制为\x51 而十六进制\x0251就是验证的十进制坐标593,至此 分析完成,以下验证图片。错误检测函数,操作成功返回0,失败返回错误编号: 0。

2023-12-05 17:54:16 448

原创 python 涉及opencv mediapipe知识,眨眼计数 供初学者参考

根据这一思路 当闭眼时 垂直距离变小 比值固定小于某一个值 当睁眼时 比值大于某个比率,比如35%,我们将比值扩大一百倍 (35% X 100) 这样我们认为大于35时是睁眼 小于为闭眼,根据程序侦测画面帧数 我们认为某一段连续的帧画面就是同一个事件 所以我们只处理其中一帧画面。img=putText2(img,f'眨眼计数:{blinkCouter}',(50,50),color=(0,0,255))#绘制Y坐标为20到50之间的实时波形图,宽度 高度 范围。#垂直距离与水平距离。

2023-12-05 15:19:29 1593

原创 记录python中自己调用winmm.dll中的函数播放自定义声音

看看自己是不是Windows操作系统 因为dll文件时Windows系统下起作用 不再需要安装第三方库,#操作系统自带winmm.dll,此处因为我放在与程序同一目录下 所以使用相对路径。#因为使用的是Unicode版本的操作系统 所以使用PlaySoundW函数。#对于自己确定winmm.dll路径正确即可。#尽量让自己程序体积小。

2023-12-05 13:48:16 619

原创 C语言如何声明函数指针,及其简单示例,供初学者参考

这里我们声明了一个函数,函数的名字是保存在指针变量pf中,注意,C语言声明不能从左往右阅读,而是根据优先级阅读,由于()优先级比前缀运算符*高,所以pf作为指针声明必须使用括号括起来,如果不使用括号 像这样 int *pf(int a, int b);那么意思就变成函数名为pf,但pf不是指针变量,不能作为左值,只能作为右值,可以赋值给指针变量,只有int (*pf)(int a, int b)表示的意思才是函数返回值是int数,pf为指针变量,pf可以作为左值接受赋值。

2023-11-30 03:24:50 651

原创 c语言演示计时器的使用 ,重复性工作需要使用到的技术,Windows编程

消息处理语句下可以执行相关绘制操作 这里演示的是更改窗口背景颜色,所以,如果你处理的不是绘制方面的事情 可以直接在WM_TIMER消息处理语句下编写你要处理的事务语句,这里只是展示通过一个消息产生另外一个消息的技术 Windows经常使用此技术来保证多种不同的输入,产生同样的的输出。比如为滚动条添加键盘接口,通常采用键盘信息产生滚动条消息,然后由滚动条消息处理自己的事务,减少按键消息语句的编写,却实现键盘,鼠标具有相同的滚动条事务处理。//个WM_PAINT消息到窗口的消息队列中。

2023-11-29 22:33:40 401 1

原创 记录自己编译的DLL过程,并在 python中调用C语言编写的DLL

第一步 编写C语言文件 test.c 每个函数之前到有__declspec(dllexport) 声明,不然python无法调用。#加载库并调用库中函数 编写针对多个平台的调用 那么三个库都必须相同的函数 相同的功能 这。第二步 编译该该文件文DLL 文件 使用命令 cl /LD test.c。cl /LD test.c #直接编译成DLL文件。第三步 python调用 展示 main.py。生成test.dll文件。#里展示的是一个例子。

2023-11-28 16:06:29 614

原创 演示一个python使用C语言类型的例子,增加编程多样性。我只是测试在Windows10下运行通过 其他平台未测试,

---------------------输出结果。#调用库中printf函数。

2023-11-28 10:01:49 369

原创 Windows 程序基本框架程序 供C语言初学者参考 该程序原作者是Charles Petzold 世界级技术作家

2、如果使用microsoft visual studio中 选择项目名称 或者解决方案名称-右键 选择属性-链接器-系统-子系统-:窗口(/System:windows)//定义窗口类 TCHAR在使用ascii编码是调用ascii版本函数 使用Unicode版本时自动调用。//WINAPI是一种调用约定 __stdcall 这些格式基本都是固定的,这些大写的标识符都是。//HINSTANCE 是Windows里的一中数据类型,其实就是一个无符号的长整形,是32位的。//Unicode版本函数。

2023-11-27 14:07:39 781

原创 c语言高级主题 作者Charles Petzold, 1998年编写的各种关于乐器,通过程序合成实现同样声音效果 我只更改文字显示部分,对于初学者以及部分计算机学生有很好的参考价值。

AppendMenu (hMenuPopup, MF_STRING, IDM_OPEN, TEXT ("&Open打开"));TEXT ("合唱钢琴"), 5, //合唱钢琴Chorused。TEXT ("羽管键琴"), 6,//Harpsichord。TEXT ("钢鼓"), 114,TEXT ("大钢琴"), 0,//

2023-11-26 21:39:07 1098 1

原创 windows 资源管理器最初雏形 已经实现基本界面功能 学习C语言Windows编程的可以参考。作者是Charles Petzold 1998年编写的, 编译出来仍然正常运行 ,非常好的入门参考

hwnd = CreateWindow (szAppName, TEXT ("资源浏览器"),//这是作者编写类似于UNIX中著名的实用程序head编写的Windows版本,可以查看文件开始的。//几行 最多显示8kb内容。

2023-11-26 17:25:01 401 1

原创 通过计算多张图片平均值 作为背景,提取前景物体

主要思路 :在一个运动物体视频中,我们随机抽取一部分视频帧 ,由于每个物体可能在不同的位置,那么对于视频帧上的某一指定位置的点,比如位置(10,10)处的点,在抽取的多张帧中,该点沿时间轴看的话,该位置没有物体的时候,那么该点像素值我们认为是背景,某一时刻,有目标物体像素值修改此处像素值,但画面较少,修改此处的像素值的帧在提取的样本帧中占比较少,背景颜色占的比重较大 , 我们认为是背景颜色 ,因为计算出来的多张图片平均值会与比重较大的像素颜色接近,基于该思路,我们提取视频背景。# 随机读取25帧图片帧号。

2023-11-26 12:11:08 489 1

原创 保存已知命名图片 通过摄像头识别第一次发现与保存图片相似的人时,将其姓名记录到csv文件中 实现摄像头签到功能

draw.text(pos, text, font=font, fill=color) # PIL中RGB=(255,0,0)表示红色。changeName = zh_ch_Titile('img', "记录最早到来时间", changeName)pattern = re.compile(r'(\d)*(\D+)(\d)*.*') # 查找文件名 排除数字。print("加载图片", os.path.splitext(currentImage)[0])print("不是有效的图片")

2023-11-25 10:36:23 1037

原创 对图片实时识别分类

我们首先建立一个文件夹,在里面放入任意图片,就可以通过程序创建这些图片的特征库,然后使用摄像头实时识别和文件内相似的物体 不需要很多图片进行的机器训练,供初学者参考。#将查找的图片的描述符与已有的描述符库比较 找出匹配度高的描述符 并把匹配的描述符前面的特征点数量存入匹配列表中。#将所有模板图片的特征点及描述符计算出来,将描述符保存在一个列表中,作为以后的对比库。#保存和查找图片的描述符与库中描述符匹配的结果 是符合的特征点数量。#创建图片的描述符,传入需要创建描述符的图片名字列表。

2023-10-28 22:58:30 49 1

原创 查看图像颜色的像素值并写入excel

xlsxWriter演示示例

2023-10-23 15:54:17 176

原创 cv2 imshow()中文标题乱码解决办法

解决思路 先创建一个命名窗口 比如命名为‘aa’,然后使用Windows的api函数找到该窗口句柄,修改标题即可 注意 在循环部分一定保证只能运行该函数一次 因为第二次运行时候对已经修改的标题进行句柄查找会出错,因为标题已经被我们改了。addd=zh_ch_Titile('aa',"测试",addd)#先命名一个窗口 后面我们便通过aa名称能找到该窗口句柄。例子 想该标题为中文名称“测试”,先。#参数是默认参数 可自行修改。

2023-10-21 03:18:20 987 1

python OpenCV imshow()中文乱码问题解决方法之一

python OpenCV imshow()中文乱码问题解决方法之一

2023-10-21

空空如也

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

TA关注的人

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