一杯清酒邀明月
天下本无事,庸人扰之而烦耳。
08 2023 档案
Cognex 3D视觉引导机械手原理分析
摘要:下面以康耐视的3D点云相机举例,由于相机出厂默认校准过,所以以下忽略内参推导(后面有机会可以专门做一篇分享),只对外参部分做分享。 1. 手眼标定的意义: 所谓标定,就是求解坐标系之间相对位置关系的变换矩阵的过程。 2. 眼在手外: 这里我们可以讲A坐标系理解为机械臂的底座坐标系,B坐标系为相机坐标 阅读全文
posted @ 2023-08-25 15:21 一杯清酒邀明月 阅读(432) 评论(0) 推荐(0) 编辑
Cognex InSight 西门子PLC关于Profinet通讯说明
摘要:1.准备:硬件: 康耐视 InSight-8402 智能相机 西门子S7-1200 PLC 电脑 软件: Cognex In-Sight Explorer 西门子 TIA Portal 软件 组态文件: 相机的组态文件位于In-Sight Explorer软件安装目录下:Factory Protoc 阅读全文
posted @ 2023-08-25 15:10 一杯清酒邀明月 阅读(1369) 评论(0) 推荐(0) 编辑
Cognex InSight 实现ModBusTCP通讯详解
摘要:1. 实验准备:1.智能相机:本次实验使用的相机型号为:IS8200M,支持目前最新的InSight6.13版本固件,所以相机的固件也升级到了最新的6.01.03,这里建议固件版本最好使用最新的。注意,5.3以下的版本不支持Modbus TCP通讯,所以如果最高支持不到5.3的相机,请选择其他通讯方 阅读全文
posted @ 2023-08-25 15:01 一杯清酒邀明月 阅读(420) 评论(0) 推荐(0) 编辑
Cognex InSight TCP\IP通讯设置以及字符命令触发
摘要:1. TCP\IP通讯智能相机既可以作为TCP\IP服务器存在,又可以作为TCP\IP客户端,这里分别介绍如何在电子表格模式下,设置InSight相机的客户端和服务器下的收发数据。 2. 客户端创建客户端设备: 在电子表格中分别插入一个EditString控件用于输入服务器IP地址。 然后插入Edi 阅读全文
posted @ 2023-08-25 14:56 一杯清酒邀明月 阅读(494) 评论(0) 推荐(0) 编辑
Cognex InSight 实现视觉引导机械手&视觉校准&九点标定
摘要:1. 校准 1. 非线性校准的作用:主要是为了消除镜头的径向畸变、以及相机非垂直安装引起的透视变形; 2. 校准工具:校正板&标定板(这里只介绍前2种,因为InSight相机不支持DataMatirx标定板) 3. 标定板的选择标准:需要根据项目现场的FOV确定标定板尺寸和单元大小 棋盘格标定板: 阅读全文
posted @ 2023-08-25 14:51 一杯清酒邀明月 阅读(1369) 评论(0) 推荐(0) 编辑
Cognex InSight 电子表格模式下图案匹配工具FindPatterns的使用
摘要:1. 准备工作:1.打开InSight软件,选择电子表格视图。 2.修改仿真器:以下所有的程序演示都是在仿真上进行的,请预先将仿真器型号改为标准。 3.回放图片:找到 “图像” —> “记录/回放选项” —> “回放” —> “回放文件夹”,然后指定回放的图片目录,点击"确定"。 4.新建并保存作业 阅读全文
posted @ 2023-08-25 14:42 一杯清酒邀明月 阅读(504) 评论(0) 推荐(0) 编辑
Cognex InSight 电子表格视图功能介绍
摘要:1. 界面预览: 这里我们将整体界面大致分为7个大的部分,当然布局可以按照自己的习惯自由拖放,这里只展示默认视图。 各部分的功能说明:① 菜单栏:这里对关键几个功能做介绍,没有提到都不是很重要 查看:当界面上的某一部分没有显示时,可以通过查看菜单重新打开。 传感器: 帮助–InSight浏览器帮助: 阅读全文
posted @ 2023-08-25 14:37 一杯清酒邀明月 阅读(266) 评论(0) 推荐(0) 编辑
Cognex InSight 软件的安装与软件激活方式分享
摘要:前言: 1. 下载软件: InSight软件是COGNEX公司开发的,针对于工业智能相机的IDE工具。智能相机的配置,编程都需要在此软件上进行。软件可以免费在康耐视官网下载,但是2020年以后需要注册邮箱才能下载激活 官网下载地址:https://support.cognex.com/zh-cn/d 阅读全文
posted @ 2023-08-25 14:35 一杯清酒邀明月 阅读(704) 评论(0) 推荐(0) 编辑
Cognex InSight 相机的连接与仿真的使用
摘要:1. 连接相机至InSight网络: 1.相机供电/连接PC智能相机的供电分两种:不同系列的视觉系统供电方式有差异,具体请查阅手册① POE电源供电② 开关电源供电 2.在InSight中配置相机IP地址: 选择:系统>>>将传感器/设备添加到网络然后单击相机图标,右侧会显示当前相机的IP和子网掩码 阅读全文
posted @ 2023-08-25 14:31 一杯清酒邀明月 阅读(821) 评论(0) 推荐(0) 编辑
VisionPro 工具调用和工具组(ToolBlock)调用
摘要:VisionPro是Cognex的机器视觉算法软件,通常的做法是使用VS做二次开发。这里主要分享VisionPro中通过ToolBlock实现一个视觉检测,以及通过调用单个Tool实现一个视觉检测。最终实现一个硬币数量检测以及坐标位置输出的应用: 使用ToolBlock的方式: 声明CogToolB 阅读全文
posted @ 2023-08-25 13:26 一杯清酒邀明月 阅读(2223) 评论(0) 推荐(0) 编辑
VisionPro C#调用QuickBuild操作
摘要:在VisionPro中,常见的操作是: 将产品多种型号分别定义成多个QuickBuild。(PS: 产品A调用QuickBuild1,产品B调用QuickBuild2) 一个QuickBuild(JobManager)文件下可以包括若干个作业(Job),如果一个项目连接多个工业相机,那么可以将相机单 阅读全文
posted @ 2023-08-25 13:22 一杯清酒邀明月 阅读(809) 评论(0) 推荐(0) 编辑
VisionPro 多图像拼接简单操作
摘要:应用场景: 比如在一个视觉项目应用中,由于FOV过大,单相机像素精度不能满足预期,那么就需要分开布局多个相机拍摄。但是如果涉及到测量,定位,计数等类似应用的时候,图像拼接技术则显的非常重要。 这里模拟四台相机分别拍摄一组二维码图像,然后将四张图拼接成为一张图,最后实现读码的功能。实现功能: 1. 准 阅读全文
posted @ 2023-08-25 11:44 一杯清酒邀明月 阅读(1275) 评论(0) 推荐(0) 编辑
VisionPro ToolBlock脚本编写&通过脚本绘制Record显示简单示例
摘要:1. 导读:前面有一篇博客分享了如何使用C#调用ToolBlock,以完成一个简单的视觉开发项目。今天主要分享一下在ToolBlock中,如何编写运行脚本,主要包括以下几个方面的演示: ToolBlock添加输入项,主要用于用户界面参数修改,然后以参数的形式传入ToolBlock,以影响算法工具。 阅读全文
posted @ 2023-08-25 11:40 一杯清酒邀明月 阅读(2323) 评论(0) 推荐(0) 编辑
VsionPro CogBlobTool斑点工具的使用详解
摘要:1. 斑点工具作用 探测并且分析图像中的二维形状,斑点通过辨别处于用户定义的灰度范围内的不同的像素组,来查找对象。简单理解就是将一幅灰度图像,根据用户选定的灰度等级进行分割。一般用在没有特定的图形轮廓,但是可以通过明暗提取特征的应用,比如: 2. 工具的部署流程: 3. 斑点工具的使用: 添加Cog 阅读全文
posted @ 2023-08-25 11:30 一杯清酒邀明月 阅读(2016) 评论(0) 推荐(0) 编辑
VisionPro 使用工业相机采集图像的两种方式分享
摘要:在VisionPro中,使用工业相机采像的方式主要有两种: 通过调用CogAcqFifoTool工具的方式取像 通过实现 ICogAcqFifo接口获取图像 1. 通过CogAcqFifoTool工具取图:① 连接相机到PC② 修改相机和PC至同一网段,修改相机或者本地网卡IP都可以 ③ 打开Vis 阅读全文
posted @ 2023-08-25 11:25 一杯清酒邀明月 阅读(1789) 评论(0) 推荐(0) 编辑
VisionPro CogPMAlignTool图像匹配工具的使用详解
摘要:PMAlign工具: 此工具可用于训练模板,然后使用在连续的输入图像中搜索模板。可指定执行模板训练或模板搜索时要使用的 算法类型,并可选择利用图像还是利用形状模型集合创建已训练模板。输入图像内的可选搜索区域可限制模板搜索的范围。 目的: 这里主要分享一下,如何在一个ToolBlock中使用PMAli 阅读全文
posted @ 2023-08-25 11:10 一杯清酒邀明月 阅读(2879) 评论(0) 推荐(0) 编辑
VisionPro 棋盘格校正
摘要:第一,架设好图像采集系统,固定相机、镜头、光源等器件 第二,选择合适的标定片,放置到视野下,采集1张清晰的图像 第三,将标定板照片,导入校准工具(CogCalibCheckerboard),设置参数计算标定 注意:1.标定完成后,系统相机、镜头不允许更换其它型号2.工作距离不允许调整3.保证标定片放 阅读全文
posted @ 2023-08-25 10:44 一杯清酒邀明月 阅读(1108) 评论(0) 推荐(0) 编辑
VisionPro 编写C#脚本
摘要:1 using System; 2 using Cognex.VisionPro; 3 using Cognex.VisionPro3D; 4 using Cognex.VisionPro.ToolGroup; 5 using System.Windows.Forms; 6 using System 阅读全文
posted @ 2023-08-25 10:41 一杯清酒邀明月 阅读(729) 评论(0) 推荐(0) 编辑
VisionPro 图像预处理工具
摘要:1.CoglmageConvertTool使用方法:彩色图像转换成黑白图像 2.CoglPOnelmageTool使用方法:常见图像预处理操作加/减常数、乘以常数、卷积、中值滤波、形态学操作 3.CogPixelMapTool使用方法:像素映射 4.CogPolarUnwrapTool使用方法:极性 阅读全文
posted @ 2023-08-25 10:40 一杯清酒邀明月 阅读(672) 评论(0) 推荐(0) 编辑
VisionPro IDTool
摘要:1.了解码的基本概念及分类:概念:按照一定规则进行排列的条和空,可用于表征一定的字符、数字、符号信息—维码、二维码 2.认识码的标记类型:标签码、DPM码 3.掌握ID工具的操作方法:一维码可以实现多类型同时识别、二维码只能识别一种类型 一 条码 一维条形码: Code 128、Code 39、 U 阅读全文
posted @ 2023-08-25 10:38 一杯清酒邀明月 阅读(396) 评论(0) 推荐(0) 编辑
VisionPro 颜色工具
摘要:1.了解4种颜色工具的差异: ColorExtractor颜色提取工具,报告相应颜色像素个数 ColorMatch颜色匹配工具,报告相应颜色匹配分数 ColorSegmenter颜色分段工具,报告分段图像 ColorCompositColorMatch复合颜色匹配工具,适应复合颜色纹理区分 2.掌握 阅读全文
posted @ 2023-08-25 10:34 一杯清酒邀明月 阅读(319) 评论(0) 推荐(0) 编辑
VisionPro Blob工具基本使用
摘要:Blob功能用于查找和分析图像中的各种形状。 Blob是先根据用户设定好的灰阶范围对图像进行分割,然后对目标进行查找和分析。 Blob结果报告多种属性 面积 质心 周长 主轴 … 适用场景:1.对象在尺寸、形状、方向上有很大差异(很难或不可能训练模型)2.在背景中没有明显灰度阴影的对象3.对象没有重 阅读全文
posted @ 2023-08-25 10:22 一杯清酒邀明月 阅读(899) 评论(0) 推荐(0) 编辑
VisionPro PMAlign基本使用
摘要:1.CogPMAlignTool的操作方法 抓取图像-设置训练区域及参数-训练模板-设置运行参数与区域-运行-查看结果 2.CogPMAlignTool的基本原理 图案位置搜索工具(识别+定位) 基于边缘特征的模板而不是基于像素的模板匹配 支持图像中特征的旋转与缩放 边缘特征表示图像中不同区域间界限 阅读全文
posted @ 2023-08-25 10:15 一杯清酒邀明月 阅读(493) 评论(0) 推荐(0) 编辑
VisionPro 数据分析工具实现测试结果判定
摘要: 阅读全文
posted @ 2023-08-25 10:11 一杯清酒邀明月 阅读(162) 评论(0) 推荐(0) 编辑
VisionPro 结果分析工具
摘要: 阅读全文
posted @ 2023-08-25 10:09 一杯清酒邀明月 阅读(131) 评论(0) 推荐(0) 编辑
VisionPro 圆形物体直径测量
摘要:图像线控制说明 实例 忽略即不参与拟合 阅读全文
posted @ 2023-08-25 10:08 一杯清酒邀明月 阅读(315) 评论(0) 推荐(0) 编辑
VisionPro 物体长度测量
摘要:右侧 阅读全文
posted @ 2023-08-25 10:00 一杯清酒邀明月 阅读(222) 评论(0) 推荐(0) 编辑
VisionPro FixtureTool
摘要:原理:建立基于图像自身特征的定位坐标空间 阅读全文
posted @ 2023-08-25 09:58 一杯清酒邀明月 阅读(180) 评论(0) 推荐(0) 编辑
VisionPro 几何工具
摘要:一 几何创建和拟合工具 查找圆、线、角: 参数设置:位置、卡尺个数、搜索长度、方向、投影长度、卡尺设置、忽略点数、拟合误差等 拟合圆、椭圆、线 二 几何测量工具 阅读全文
posted @ 2023-08-25 09:56 一杯清酒邀明月 阅读(302) 评论(0) 推荐(0) 编辑
VisionPro 卡尺工具原理
摘要:检测边缘,计数或者边缘之间的距离时会用卡尺 1.CogCaliperTool操作方法:设置搜索区域、设置卡尺参数、计分设置、运行、查看结果 2.CogCaliperTool原理:二维空间转化成一维空间 3.CogCaliperTool参数介绍:边缘模式、对比度阈值、过滤一半像素、最大结果数 参数设置 阅读全文
posted @ 2023-08-25 09:51 一杯清酒邀明月 阅读(786) 评论(0) 推荐(0) 编辑
VisionPro C#混合编程实现工业相机实时图像采集
摘要:1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 阅读全文
posted @ 2023-08-25 09:49 一杯清酒邀明月 阅读(817) 评论(0) 推荐(0) 编辑
VisionPro C#混合编程环境搭建(基于VS2019)
摘要:VisionPro工具分组(因为Vs2019导入VisionPro是全导入,为了方便,可以自建项进行分类) 各选择项 1 VisionPro Tool Edit Controls 2 VisionPro Display Controls 3 VisionPro Shape Edit Controls 阅读全文
posted @ 2023-08-25 09:45 一杯清酒邀明月 阅读(1502) 评论(0) 推荐(0) 编辑
VisionPro 控制工业相机实时图像采集
摘要:原谅我,我的相机是国产的,连不上。我就不下什么驱动了。1.参数设置 连上相机后,会有相机的序列号(LH54282651)、曝光、增益、对比度、亮度等相机参数设置。 2.闪光灯和触发器 软触发:软件内部触发(VisionPro) 硬触发:外部硬件触发(上位机) 3.图像属性4.GigE 传输超时、延时 阅读全文
posted @ 2023-08-25 09:32 一杯清酒邀明月 阅读(518) 评论(0) 推荐(0) 编辑
VisionPro 如何通过向导生成项目应用程序
摘要:最终结果 Job1:识别二维码 Job2:变形匹配 阅读全文
posted @ 2023-08-25 09:29 一杯清酒邀明月 阅读(242) 评论(0) 推荐(0) 编辑
VisionPro 软件介绍
摘要:VisionPro软件介绍 一 VisionPro的四种开发模式 1.Quickbuild视觉+向导生成的操作界面 Quickbuild视觉 向导生成的操作界面 2 Quickbuild视觉+修改的操作界面 使用QuickBuild互动开发视觉、输入和输出和工作控件 使用应用程序向导生成操作界面(V 阅读全文
posted @ 2023-08-25 09:21 一杯清酒邀明月 阅读(539) 评论(0) 推荐(1) 编辑
VisionPro 图像转换工具ImageCovertTool
摘要:前言 众所周知,VisionPro是一款功能强大的机器视觉软件,用于开发和部署机器视觉应用程序。其中ImageConvertTool是其中一个重要的工具,用于图像转换和处理。本文将介绍如何使用ImageConvertTool进行图像转换,并探讨其背后的原理。 写之前先吐槽一下,引出自己的原因,哈哈哈 阅读全文
posted @ 2023-08-25 09:04 一杯清酒邀明月 阅读(1038) 评论(0) 推荐(0) 编辑
VisionPro 软件介绍和基本使用
摘要:前言 自己使用visionPro已经有段时间了,最近也一直在研究其算子的理论,为了加深印象,计划将自己的学习笔记整理在博客园,当然其官方文档对如何使用及其各种算子都有详细的介绍,所以这里的笔记仅仅为个人加深理解而做,就当是个个人日记,日后也好查找。 !!! 为了方便,大部分图片来自网络,所以如有侵权 阅读全文
posted @ 2023-08-25 08:59 一杯清酒邀明月 阅读(5009) 评论(0) 推荐(0) 编辑
显微镜的几个概念:分辨率,放大率,最大分辨率,分辨极限
摘要:“本文主要介绍有关显微镜的一些重要概念,不论是在科研,还是日常生活当中,这些概念都十分容易混淆。分辨这些概念有助于我们避免误解,更好、更合理地使用显微镜。” 01 分辨率 分辨率是指能够分辨出的相邻两个物点间的最小距离的能力,这种距离称为分辨距离。 一般来说分辨距离越小,分辨率越高。一般规定:显微镜 阅读全文
posted @ 2023-08-23 16:26 一杯清酒邀明月 阅读(1159) 评论(0) 推荐(0) 编辑
显微镜分辨率:概念、因素和计算
摘要:在显微镜学中,‘分辨率’一词用于阐述显微镜对细节进行区分的能力。换言之,这是样本内两个能被观察人员或者显微镜摄像头区分的实体点之间的理想的距离。 显微镜的分辨率本质上与光学元件的数值孔径(NA)以及用于观察样本标本的光波长有关。此外,我们必须考虑Ernst Abbe于1873年首次提出的衍射极限。 阅读全文
posted @ 2023-08-23 16:24 一杯清酒邀明月 阅读(384) 评论(0) 推荐(0) 编辑
景深的原理
摘要:首先什么是景深? 对于光学系统而言,由于像差的限制,点物很难成点像,加上衍射受限,会形成一个弥散斑。 但幸好,人眼也不够高级。对于照相物镜来说,若照片上各点的弥散斑对人眼的张角小于人眼极限角分辨率1~2',则感觉犹似点像。所以人仍然会认为图像是清晰的。 故当镜头对着处于焦面物体拍摄时,被摄物体与其前 阅读全文
posted @ 2023-08-23 15:34 一杯清酒邀明月 阅读(331) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 077 GUI的终极选择:Tkinter14
摘要:Tkinter提供了三种标准对话框模块,分别是:messagebox、filedialog、colorchooser messagebox(消息对话框) 实例1:askokcancel函数 1 from tkinter import * 2 3 print(messagebox.askokcance 阅读全文
posted @ 2023-08-23 14:11 一杯清酒邀明月 阅读(52) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 076 GUI的终极选择:Tkinter13
摘要:布局管理器 布局管理器就是管理你的那些组件如何排列的家伙。Tkinter有三个布局管理器,分别是pack、grid和place pack:按添加顺序排列组件 grid:按行/列形式排列组件 place:允许程序员指定组件的大小和位置 pack 实例1:生成一个Listbox组件并将它填充到root窗 阅读全文
posted @ 2023-08-23 14:07 一杯清酒邀明月 阅读(64) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 075 GUI的终极选择:Tkinter12
摘要:Message组件 Message(消息)组件是Label组件的变体,用于显示多行文本信息。Message组件能够自动换行,并调整文本的尺寸使其适应给定得尺寸。 实例1: 1 from tkinter import * 2 3 root = Tk() 4 w1 = Message(root,text 阅读全文
posted @ 2023-08-23 14:03 一杯清酒邀明月 阅读(25) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 074 GUI的终极选择:Tkinter11
摘要:事件绑定 对于每个组件来说,可以通过bind()方法将函数或方法绑定到具体的事件上。当被触发的事件满足该组件绑定的事件时,Tkinter就会带着事件描述去调用handler()方法 实例1:捕获单击鼠标位置 1 from tkinter import* 2 3 root = Tk() 4 5 def 阅读全文
posted @ 2023-08-23 13:58 一杯清酒邀明月 阅读(26) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 073 GUI的终极选择:Tkinter10
摘要:Munu组件 Tkinter提供了一个Menu组件,用于实现顶级菜单、下拉菜单和弹出菜单。 实例1:创建一个顶级菜单(或称窗口主菜单) 1 from tkinter import * 2 3 def callback(): 4 print("被调用了") 5 6 root = Tk() 7 8 9 阅读全文
posted @ 2023-08-23 13:54 一杯清酒邀明月 阅读(34) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 071 GUI的终极选择:Tkinter8
摘要:Canvas(画布)组件 一个可以让你随心所欲绘制界面的组件。通常用于显示和编辑图形,可以用它来绘制直线、图形、多边形,甚至是绘制其他组件。 实例1: 1 from tkinter import * 2 root = Tk() 3 #创建canvas对象框,设置其宽度、高度与背景色 4 w = Ca 阅读全文
posted @ 2023-08-23 13:50 一杯清酒邀明月 阅读(25) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 070 GUI的终极选择:Tkinter7
摘要:实例1:添加Tags 1 from tkinter import * 2 3 root = Tk() 4 text = Text(root,width=30,height=5) 5 text.pack() 6 7 #INSERT索引表示插入光标当前的位置 8 text.insert(INSERT," 阅读全文
posted @ 2023-08-23 11:47 一杯清酒邀明月 阅读(18) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 069 GUI的终极选择:Tkinter6
摘要:Text组件 Text(文本)组件用于显示和处理多种任务。虽然该组件的主要目的是显示多行文本,但它常常也被用于作为简单的文本编辑器和网页浏览器使用。 实例1:插入内容 1 from tkinter import * 2 3 root = Tk() 4 text = Text(root,width=3 阅读全文
posted @ 2023-08-23 11:37 一杯清酒邀明月 阅读(31) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 068 GUI的终极选择:Tkinter5
摘要:Listbox组件 如果需要提供选项给用户选择,单选可以用Radiobutton组件,多选可以用Checkbutton,如果提供的选项非常多,可以考虑使用Listbox组件。Listbox是以列表的形式显示出来,并支持滚动条操作。 实例1: 1 from tkinter import * 2 3 r 阅读全文
posted @ 2023-08-23 11:33 一杯清酒邀明月 阅读(22) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 067 GUI的终极选择:Tkinter4
摘要:实例1: 1 from tkinter import * 2 3 root = Tk()#创建主窗口 4 e = Entry(root)#在主窗口中插入输入框 5 e.pack(padx = 20,pady = 20) 6 7 e.delete(0,END)#清空输入框 8 e.insert(0," 阅读全文
posted @ 2023-08-23 11:31 一杯清酒邀明月 阅读(22) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 066 GUI的终极选择:Tkinter3
摘要:实例1:Checkbutton 组件 1 from tkinter import * 2 3 root = Tk() 4 #需要一个Tkinter变量,用于表示该按钮是否被选中 5 v = IntVar() 6 c = Checkbutton(root,text="测试一下",variable = 阅读全文
posted @ 2023-08-23 11:17 一杯清酒邀明月 阅读(16) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 065 GUI的终极选择:Tkinter2
摘要:实例1:Label组件显示文字与gif图片 1 #导入tkinter模块的所有内容 2 from tkinter import * 3 4 #创建主窗口 5 root = Tk() 6 #创建一个文本Label对象,文字为左对齐,离左边边框距离为10 7 textLabel = Label(root 阅读全文
posted @ 2023-08-23 11:14 一杯清酒邀明月 阅读(23) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 064 GUI的终极选择:Tkinter
摘要:>>> import tkinter #Tkinter是python默认的GUI库,导入Tkinter模块>>> 实例1: 1 import tkinter as tk 2 3 root = tk.Tk()#创建一个主窗口,用于容纳整个GUI程序 4 root.title("FishC Demo") 阅读全文
posted @ 2023-08-23 11:13 一杯清酒邀明月 阅读(48) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 055 论一只爬虫的自我修养3:隐藏
摘要:修改 headers •通过Request的headers参数修改 • •通过Request.add_header()方法修改 代理 •步骤: 1. 参数是一个字典 {‘类型’:‘代理ip:端口号’} proxy_support = urllib.request.ProxyHandler({}) 2 阅读全文
posted @ 2023-08-23 11:09 一杯清酒邀明月 阅读(17) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 054 论一只爬虫的自我修养2:实战
摘要:1 import urllib.request 2 3 response = urllib.request.urlopen('http://placekitten.com/g/500/600')# 返回文件对象response 4 cat_imag = response.read() 5 6 wit 阅读全文
posted @ 2023-08-23 11:09 一杯清酒邀明月 阅读(19) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 053 论一只爬虫的自我修养
摘要:Python如何访问互联网? •URL的一般格式为(带方括号[]的为可选项): protocol :// hostname[:port] / path / [;parameters][?query]#fragment •URL由三部分组成: –第一部分是协议:http,https,ftp,file, 阅读全文
posted @ 2023-08-23 11:08 一杯清酒邀明月 阅读(14) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 052 模块:像个极客一样去思考
摘要:使用print调用__doc__属性,可以带格式查看这个模块的简介 使用dir()可以查询到该模块定义了哪些变量、函数和类 阅读全文
posted @ 2023-08-23 11:07 一杯清酒邀明月 阅读(13) 评论(1) 推荐(0) 编辑
Python基础入门学习笔记 051 模块:__name__='__main__'、搜索路径和包
摘要:模块!模块! 实例1:为TemperatureConversion添加测试程序(TemperatureConversion被作为程序运行) 1 def c2f(cal): 2 return cal * 1.8 + 32 3 4 def f2c(fah): 5 return (fah - 32)/1. 阅读全文
posted @ 2023-08-23 11:06 一杯清酒邀明月 阅读(18) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 050 模块:模块就是程序
摘要:什么是模块 •容器 -> 数据的封装 •函数 -> 语句的封装 •类 -> 方法和属性的封装 •模块 -> 模块就是程序 命名空间 爱的宣言:世界上只有一个名字,使我这样牵肠挂肚,像有一根看不见的线,一头牢牢系在我心尖上,一头攥在你手中,这个名字就叫做鱼C工作室计算机一班的小花…… 导入模块 •第一 阅读全文
posted @ 2023-08-23 11:02 一杯清酒邀明月 阅读(12) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 049 乱入:生成器
摘要:所谓协同程序,就是可以运行的独立函数调用,函数可以暂停或者挂起,并在需要的时候从程序离开的地方继续或者重新开始。 生成器可以暂时挂起函数,并保留函数的局部变量等数据,然后在再次调用它的时候,从上次暂停的位置继续执行下去。 一个函数中如果有yield语句,则被定义为生成器。 实例1: 1 >>> de 阅读全文
posted @ 2023-08-23 11:01 一杯清酒邀明月 阅读(10) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 048 魔法方法:迭代器
摘要:迭代的意思类似于循环,每一次重复的过程被称为一次迭代的过程,而每一次迭代得到的结果会被用来作为下一次迭代的初始值。提供迭代方法的容器称为迭代器(如序列(列表、元组、字符串)、字典等)。 对一个容器对象调用iter()就得到它的迭代器,调用next()迭代器就会返回下一个值。入托迭代器没有值可以返回了 阅读全文
posted @ 2023-08-23 10:59 一杯清酒邀明月 阅读(22) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 047 魔法方法:定制序列
摘要:协议是什么? •协议(Protocols)与其他编程语言中的接口很相似,它规定你哪些方法必须要定义。然而,在Python中的协议就显得不那么正式。事实上,在Python中,协议更像是一种指南。 容器类型的协议 •如果说你希望定制的容器是不可变的话,你只需要定义__len__()和__getitem_ 阅读全文
posted @ 2023-08-23 10:57 一杯清酒邀明月 阅读(16) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 046 魔法方法:描述符(Property的原理)
摘要:描述符 •描述符就是将某种特殊类型的类的实例指派给另一个类的属性。 •__get__(self, instance, owner) –用于访问属性,它返回属性的值 •__set__(self, instance, value) –将在属性分配操作中调用,不返回任何内容 •__delete__(sel 阅读全文
posted @ 2023-08-23 10:55 一杯清酒邀明月 阅读(19) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 045 魔法方法:属性访问
摘要:属性访问 •__getattr__(self, name) –定义当用户试图获取一个不存在的属性时的行为 •__getattribute__(self, name) –定义当该类的属性被访问时的行为 •__setattr__(self, name, value) –定义当一个属性被设置时的行为 •_ 阅读全文
posted @ 2023-08-23 10:54 一杯清酒邀明月 阅读(7) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 044 魔法方法:简单定制
摘要:简单定制 •基本要求: –定制一个计时器的类 –start和stop方法代表启动计时和停止计时 –假设计时器对象t1,print(t1)和直接调用t1均显示结果 –当计时器未启动或已经停止计时,调用stop方法会给予温馨的提示 –两个计时器对象可以进行相加:t1 + t2 –只能使用提供的有限资源完 阅读全文
posted @ 2023-08-23 10:53 一杯清酒邀明月 阅读(9) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 043 魔法方法:算术运算2
摘要:实例1: 1 >>> class int(int): 2 def __add__(self,other): 3 return int.__sub__(self,other) 4 5 6 >>> a = int(3) 7 >>> b = int(2) 8 >>> a + b 9 1 反运算: 反运算与 阅读全文
posted @ 2023-08-23 10:52 一杯清酒邀明月 阅读(12) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 042 魔法方法:算术运算
摘要:python2.2以后,对类和类型进行了统一,做法就是讲int()、float()、str()、list()、tuple()这些BIF转换为工厂函数(类对象): 1 >>> type(len) 2 <class 'builtin_function_or_method'> #普通的BIF 3 >>> 阅读全文
posted @ 2023-08-23 10:50 一杯清酒邀明月 阅读(22) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 041 魔法方法:构造和析构
摘要:__init__(self[, ...]) 方法是类在实例化成对象的时候首先会调用的一个方法 1 >>> class Rectangle: 2 def __init__(self,x,y): 3 self.x = x 4 self.y = y 5 def getPeri(self): 6 retur 阅读全文
posted @ 2023-08-23 10:47 一杯清酒邀明月 阅读(5) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 040 类和对象:一些相关的BIF
摘要:一些相关的BIF issubclass(class, classinfo) 如果第一个参数(class)是第二个参数(classinfo)的一个子类,则返回True,否则返回False 1 >>> class A: 2 pass 3 4 >>> class B(A): 5 pass 6 7 >>> 阅读全文
posted @ 2023-08-23 10:45 一杯清酒邀明月 阅读(25) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 039 类和对象:拾遗
摘要:组合(将需要的类一起进行实例化并放入新的类中) 实例: 1 class Turtle: 2 def __init__(self,x): 3 self.num = x 4 5 class Fish: 6 def __init__(self,x): 7 self.num = x 8 9 class Po 阅读全文
posted @ 2023-08-23 10:42 一杯清酒邀明月 阅读(16) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 038 类和对象:继承
摘要:继承 子类 父类 class DerivedClassName(BaseClassName): …… 实例:一个子类可以继承它的父类的所有属性和方法 1 >>> class Parent: 2 def hello(self): 3 print('正在调用父类的方法。。。') 4 5 6 7 >>> 阅读全文
posted @ 2023-08-23 10:39 一杯清酒邀明月 阅读(29) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 037 类和对象:面向对象编程
摘要:self是什么? Python的self其实就相当于C++的this指针。由同一个类可以生产无数对象,当一个对象的方法被调用的时候,对象会将自身的引用作为第一个参数传给该方法,那么python就知道需要操作哪个对象的方法了。 1 >>> class Ball: 2 def setName(self, 阅读全文
posted @ 2023-08-23 10:29 一杯清酒邀明月 阅读(20) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 036 类和对象:给大家介绍对象
摘要:给大家介绍对象 把乱七八糟的数据扔进列表里,称数据层面的封装 把常用的代码段打包成一个函数,称语句层面的封装 把数据和代码都封装在一起,称对象层面的封装 对象 = 属性 + 方法 对象可以从静态(属性)与动态(方法)两个特征来描述 OO(面向对象)的特征 继承 class Turtle: # Pyt 阅读全文
posted @ 2023-08-23 10:27 一杯清酒邀明月 阅读(16) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 035 图形用户界面入门:EasyGui
摘要:图形用户界面编程,也就是平时常说的GUI(Graphical User Interface),python有一个非常简单的GUI工具包:EasyGui GUI的安装 导入方法一: 1 >>> import easygui #导入EasyGui 2 >>> easygui.msgbox('嗨,亦我飞也 阅读全文
posted @ 2023-08-23 10:17 一杯清酒邀明月 阅读(111) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 034 丰富的else语句及简洁的with语句
摘要:丰富的else语句 •要么怎样,要么不怎样 if 条件: 条件为真执行else: 条件为假执行 •干完了能怎样,干不完就别想怎样 实例1: 1 def showMaxFactor(num): 2 count = num // 2#//为整除,判断是素数,只需依次判断当前数num除以1到(num // 阅读全文
posted @ 2023-08-23 10:15 一杯清酒邀明月 阅读(21) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 033 异常处理:你不可能总是对的2
摘要:try-except语句 try: 检测范围 except Exception[as reason]: 出现异常(Exception)后的处理代码 实例1: 1 try: 2 f = open('TE.txt') 3 print(f.read()) 4 f.close() 5 except OSEr 阅读全文
posted @ 2023-08-23 10:13 一杯清酒邀明月 阅读(12) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 032 异常处理:你不可能总是对的
摘要:实例1: 1 file_name = input('请输入需要打开的文件名:') 2 file = open(file_name) 3 print('文件的内容是:') 4 for each_line in file: 5 print(each_line) 6 file.close() Python 阅读全文
posted @ 2023-08-23 10:11 一杯清酒邀明月 阅读(11) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 031 永久存储:腌制一缸美味的泡菜(pickle)
摘要:python提供了一个标准的模块pickle,可以非常容易地将列表、字典这类复杂的数据类型存储为文件。它几乎可以把所有python的对象都转化为二进制的形式存放,这个过程称为pickling,从二进制转换回对象的过程称为unpickling pickling过程 1 >>> import pickl 阅读全文
posted @ 2023-08-23 10:10 一杯清酒邀明月 阅读(32) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 030 文件系统:介绍一个高大上的东西
摘要:os模块中关于文件/目录常用的函数使用方法 >>> import os>>> os.getcwd()'D:\\python3.3.2\\小甲鱼python\\python程序\\第二十九课' >>> os.listdir('D:\\python3.3.2\\小甲鱼python\\python程序\\ 阅读全文
posted @ 2023-08-23 10:02 一杯清酒邀明月 阅读(13) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 029 文件:一个任务
摘要:•任务:将文件(record.txt)中的数据进行分割并按照以下规律保存起来: –小甲鱼的对话单独保存为boy_*.txt的文件(去掉“小甲鱼:”) –小客服的对话单独保存为girl_*.txt的文件(去掉“小客服:”) –文件中总共有三段对话,分别保存为boy_1.txt, girl_1.txt, 阅读全文
posted @ 2023-08-23 10:01 一杯清酒邀明月 阅读(20) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 028 文件:因为懂你,所以永恒
摘要:大多数u程序都是:首先接收输入数据,然后按照要求进行处理,最后输出数据 虽然当前数据放在内存中存取的速度要比硬盘中快,但一旦断电则会丢失,所以尽量ctrl+s保持到硬盘中 什么是文件 打开文件 1 open(file, mode='r', buffering=-1, encoding=None,er 阅读全文
posted @ 2023-08-23 10:00 一杯清酒邀明月 阅读(19) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 027 集合:在我的世界里,你就是唯一
摘要:字典的表亲--集合(在python3中,如果用大括号括起一堆数字但没有体现映射关系,那么就会认为这堆玩意儿就是个集合) 1 >>> num1 = {} 2 >>> type(num1) 3 <class 'dict'> 4 >>> num2 = {1,3,4} 5 >>> type(num2) 6 阅读全文
posted @ 2023-08-23 09:58 一杯清酒邀明月 阅读(19) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 026 字典:当索引不好用时2
摘要:fromkey()方法用于创建并返回一个新的字典。它有两个参数,第一个参数是字典的键;第二个参数是可选的,是传入键的值。如果不提供,默认是None 1 >>> dict1 = {} 2 >>> dict1.fromkeys((1,2,3)) 3 {1: None, 2: None, 3: None} 阅读全文
posted @ 2023-08-23 09:55 一杯清酒邀明月 阅读(12) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 025 字典:当索引不好用时
摘要:映射 创建和访问字典 >>> dict4 = dict(小甲鱼='让编程改变世界',李宁='一切皆有可能')>>> dict4{'小甲鱼': '让编程改变世界', '李宁': '一切皆有可能'} >>> dict4['爱迪生'] = '天才是99%的汗水加1%的灵感'>>> dict4{'小甲鱼': 阅读全文
posted @ 2023-08-23 09:51 一杯清酒邀明月 阅读(9) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 024 递归:汉诺塔
摘要:递归求解汉诺塔 •对于游戏的玩法,我们可以简单分解为三个步骤 –将前63个盘子从X移动到Y上。 –将最底下的第64个盘子从X移动到Z上。 –将Y上的63个盘子移动到Z上。 •问题一:将X上的63个盘子借助Z移到Y上; •问题二:将Y上的63个盘子借助X移到Z上。 •对于游戏的玩法,我们可以简单分解为 阅读全文
posted @ 2023-08-23 09:50 一杯清酒邀明月 阅读(40) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 023 递归:这帮小兔崽子
摘要:坑爹的兔子 斐波那契数列的迭代实现 我们都知道兔子繁殖能力是惊人的,如下图: 我们可以用数学函数来定义: 课间练习:假设我们需要求出经历了20个月后,总共有多少对小兔崽子?(迭代 vs 递归) 1 def fab(n): 2 n1 = 1 3 n2 = 1 4 n3 = 1 5 6 if n < 1 阅读全文
posted @ 2023-08-23 09:49 一杯清酒邀明月 阅读(23) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 022 函数:递归是神马
摘要:汉诺塔游戏 树结构的定义 谢尔宾斯基三角形 递归求阶乘 •写一个求阶乘的函数 –正整数阶乘指从1乘以2乘以3乘以4一直乘到所要求的数。 –例如所给的数是5,则阶乘式是1×2×3×4×5,得到的积是120,所以120就是4的阶乘。 •假设我们n的值传入是5,那么: 实例:求阶乘 1 def facto 阅读全文
posted @ 2023-08-23 09:46 一杯清酒邀明月 阅读(13) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 021函数:lambda表达式
摘要:lambda表达式的作用 •Python写一些执行脚本时,使用lambda就可以省下定义函数过程,比如说我们只是需要写个简单的脚本来管理服务器时间,我们就不需要专门定义一个函数然后再写调用,使用lambda就可以使得代码更加精简。 •对于一些比较抽象并且整个程序执行下来只需要调用一两次的函数,有时候 阅读全文
posted @ 2023-08-23 09:44 一杯清酒邀明月 阅读(56) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 020函数:内嵌函数和闭包
摘要:内嵌函数 闭包(closure) 注:使用nonlocal语句将x强制为不是局部变量 阅读全文
posted @ 2023-08-23 09:43 一杯清酒邀明月 阅读(9) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 019函数:我的地盘听我的(局部变量与全局变量)
摘要:1 def discounts(price, rate): 2 final_price = price * rate 3 old_price = 88 #这里试图修改全局变量 4 print('修改后old_price的值是:', old_price) 5 return final_price 6 阅读全文
posted @ 2023-08-23 09:42 一杯清酒邀明月 阅读(12) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 019函数:我的地盘听我的
摘要:函数与过程 再谈谈返回值 如果有返回值,函数则返回对应值;如果没有,则返回None 可以返回多个值 阅读全文
posted @ 2023-08-23 09:41 一杯清酒邀明月 阅读(9) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 018 函数:灵活即强大
摘要:形参和实参 >>> def MyFirstFunction(name): '函数定义过程中的name是叫形参' #因为Ta只是一个形式,表示占据一个参数位置 print('传递进来的' + name + '叫做实参,因为Ta是具体的参数值!') >>> MyFirstFunction('小甲鱼') 阅读全文
posted @ 2023-08-23 09:39 一杯清酒邀明月 阅读(11) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 017函数:Python的乐高积木
摘要:定义一个函数和调用 阅读全文
posted @ 2023-08-23 09:39 一杯清酒邀明月 阅读(17) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 016 序列!序列!
摘要:•列表、元组和字符串的共同点 –都可以通过索引得到每一个元素 –默认索引值总是从0开始 –可以通过分片的方法得到一个范围内的元素的集合 –有很多共同的操作符(重复操作符、拼接操作符、成员关系操作符) 使用list方法 元组转换为列表 max() 返回序列或者参数集合中的最大值 min() 返回序列或 阅读全文
posted @ 2023-08-23 09:38 一杯清酒邀明月 阅读(18) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 015字符串:格式化
摘要:字符串格式化符号含义 将ASCII码97对应的字符输出 格式化整数 格式化操作符辅助命令 5表示输出为五位数 Python 的转义字符及其含义 阅读全文
posted @ 2023-08-23 09:36 一杯清酒邀明月 阅读(12) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 014字符串:各种奇葩的内置方法
摘要: 阅读全文
posted @ 2023-08-23 09:34 一杯清酒邀明月 阅读(15) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 013元组:戴上了枷锁的列表
摘要:•由于和列表是近亲关系,所以元组和列表在实际使用上是非常相似的。 •我们这节课主要通过讨论元组和列表到底有什么不同来学习元组,酱紫大家就不会觉得老是重复一样的内容。 •我们主要从以下几个点来讨论学习: –创键和访问一个元组 创建元组(括号可以没有,但逗号一定要有) 访问元组前两个元素 –更新和删除一 阅读全文
posted @ 2023-08-23 09:33 一杯清酒邀明月 阅读(10) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 012列表:一个打了激素的数组3
摘要:列表的一些常用操作符 •比较操作符 •逻辑操作符 •连接操作符 •重复操作符 •成员关系操作符 关于分片“拷贝”概念的补充 >>> dir(list)可查看所有列表的操作函数 count()函数可计算列表中相同元素个数 index()函数可索引列表元素 reverse()将列表中元素倒序 sort( 阅读全文
posted @ 2023-08-23 09:26 一杯清酒邀明月 阅读(8) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 011列表:一个打了激素的数组2
摘要:从列表中获取元素 •跟数组一样,我们可以通过元素的索引值(index)从列表获取单个元素,注意,列表索引值是从 0 开始的。 从列表删除元素 remove()函数表示从列表中删除某个元素 del()函数也表示从列表中删除某个元素 pop()函数从列表中取出最后一个元素 列表分片(Slice) •利用 阅读全文
posted @ 2023-08-23 09:23 一杯清酒邀明月 阅读(12) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 010 列表:一个打了激素的数组
摘要:列表:一个打了激素的数组 创建列表 •创建一个普通列表 •创建一个混合列表 •创建一个空列表 向列表添加元素 append()函数向列表末尾添加一个元素 extend()函数向列表末尾添加多个元素 insert(n,xxx)函数向列表中第n个元素前插入一个元素 阅读全文
posted @ 2023-08-23 09:21 一杯清酒邀明月 阅读(10) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 009 了不起的分支和循环3
摘要:while循环 while 条件: 循环体 for循环 •虽然说Python是由C语言编写而来的,但是Ta的for循环跟C语言的for循环不太一样,Python的for循环显得更为智能和强大! •语法: for 目标 in 表达式: 循环体 每次取FishC中一个字符及空格输出 range()函数 阅读全文
posted @ 2023-08-23 09:19 一杯清酒邀明月 阅读(18) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 008 了不起的分支和循环2
摘要:•现在小甲鱼来考考大家: –按照100分制,90分以上成绩为A,80到90为B,60到80为C,60以下为D,写一个程序,当用户输入分数,自动转换为ABCD的形式打印。 1 score = int(input('请输入一个分数:')) 2 if 100 >= score >= 90: 3 print 阅读全文
posted @ 2023-08-23 09:17 一杯清酒邀明月 阅读(12) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 007 了不起的分支和循环
摘要:打飞机游戏框架: 加载背景音乐 播放背景音乐(设置单曲循环) 我方飞机诞生 while True: if 用户是否点击了关闭按钮: 推出程序 interval += 1; if interval == 50: interval = 0; 小飞机诞生 小飞机移动一个位置 屏幕刷新 if 用户鼠标产生移 阅读全文
posted @ 2023-08-23 09:15 一杯清酒邀明月 阅读(13) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 006 Pyhon之常用操作符
摘要:算术操作符 注:python中 \ 为除法, \\ 为整除 ,% 为取余 幂运算(3的二次方) 3的二次方后取负 3的负二次方 比较操作符 逻辑操作符 阅读全文
posted @ 2023-08-23 09:14 一杯清酒邀明月 阅读(19) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 005 闲聊之Python的数据类型
摘要:Python的一些数值类型:整型、布尔类型(True与False)、浮点型、e记法、复数类型等 e记法(e4相当于10的四次方,e-10相当于10的-10次方) 类型转换 字符型转换为整型 其它同上 type()函数(可查看变量类型) isinstance()函数(用来判断两个输入参数类型是否一致) 阅读全文
posted @ 2023-08-23 09:11 一杯清酒邀明月 阅读(10) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 004 改进我们的小游戏
摘要:•第一个改进要求:猜错的时候程序提示用户当前的输入比答案大了还是小了 与操作and •第二个改进要求:程序应该提供多次机会给用户猜测,专业点来讲就是程序需要重复运行某些代码。 条件分支 while循环 实例1:找8 1 temp = input("请输入一个数据:") 2 guess = int(t 阅读全文
posted @ 2023-08-23 09:10 一杯清酒邀明月 阅读(36) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 003 小插曲之变量和字符串
摘要:插曲之变量 •变量名就像我们现实社会的名字,把一个值赋值给一个名字时,Ta会存储在内存中,称之为变量(variable),在大多数语言中,都把这种行为称为“给变量赋值”或“把值存储在变量中”。 •不过Python与大多数其他计算机语言的做法稍有不同,Ta并不是把值存储在变量中,而更像是把名字贴在值的 阅读全文
posted @ 2023-08-23 09:08 一杯清酒邀明月 阅读(17) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 002 用Python设计第一个游戏
摘要:实例1: 1 print(" 我爱鱼C工作室 ") 2 temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:") 3 guess = int(temp) 4 if guess == 8: 5 print("我草,你是小甲鱼心里的蛔虫嘛?!") 6 print("哼,猜中了也没有奖励! 阅读全文
posted @ 2023-08-23 09:06 一杯清酒邀明月 阅读(50) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 001 我和Python的第一次亲密接触
摘要:从IDLE启动Python •IDLE是一个Python Shell,shell的意思就是“外壳”,基本上来说,就是一个通过键入文本与程序交互的途径! •我们看到>>>这个提示符,Ta的含义是告诉你,Python已经准备好了,在等着你键入Python指令呢。 •好了,大家试试在IDLE里输入: >> 阅读全文
posted @ 2023-08-23 09:04 一杯清酒邀明月 阅读(21) 评论(0) 推荐(0) 编辑
Python基础入门学习笔记 000 愉快的开始
摘要:python跨平台。 应用范围:操作系统、WEB、3D动画、企业应用、云计算 大家可以学到什么:Python3的所有常用语法、面向对象编程思维、运用模块进行编程、游戏编程、计算机仿真 Python 是脚本语言 脚本语言(Scripting language)是电脑编程语言,因此也能让开发者藉以编写出 阅读全文
posted @ 2023-08-23 09:01 一杯清酒邀明月 阅读(22) 评论(0) 推荐(0) 编辑
C++快速入门 第四十八讲:向量和容器2
摘要:迭代器(iterator)是一种功能非常有限,却非常实用的函数,提供一些基本操作符。其是个所谓的智能指针,具有遍历复杂数据结构的能力。 实例:迭代器指针应用 1 #include <iostream> 2 #include <string> 3 #include <vector> 4 //迭代器it 阅读全文
posted @ 2023-08-18 15:40 一杯清酒邀明月 阅读(48) 评论(0) 推荐(0) 编辑
C++快速入门 第四十七讲:容器和算法
摘要:C++标准库提供的向量(vector)类型从根本上解决了数组先天不足的问题(内存固定,如果不用那么多内存编译器也会为其分配) 我们用不着对一个向量能容纳多少元素做出限定,因为向量可以动态地随着你往它里面添加元素而无限增大。还可以用它的size()方法查知某给定向量的当前长度(即包含的元素个数);用p 阅读全文
posted @ 2023-08-18 15:39 一杯清酒邀明月 阅读(50) 评论(0) 推荐(0) 编辑
C++快速入门 第四十六讲:内联模板
摘要:内联函数从源代码层看,有函数的结构,而在编译后,却不具备函数的性质。编译时类似宏替换,使用函数体替换调用处的函数名。(在程序中,调用其函数时,该函数在编译时被替换,而不是像一般函数那样是在运行时被调用) 实例:栈 1 #include <iostream> 2 #include <string> 3 阅读全文
posted @ 2023-08-18 15:39 一杯清酒邀明月 阅读(50) 评论(0) 推荐(0) 编辑
C++快速入门 第四十五讲:类模板
摘要:类模板与函数模板非常相似,同样是先由你编写一个类的模板,再由编译器在你第一次使用这个模板时生成的实际代码。 实例:栈的出入栈 1 #include <iostream> 2 #include <string> 3 4 template <class T> 5 class Stack//栈类 6 { 阅读全文
posted @ 2023-08-18 15:38 一杯清酒邀明月 阅读(33) 评论(0) 推荐(0) 编辑
C++快速入门 第四十四讲:函数模板swap使用
摘要:泛型编程技术支持程序员创建函数和类的蓝图(即模板,template),而不是具体的函数和类。 标准模板库STL(Standard Template Library),STL库是泛型编程技术的经典之作,它包含了许多非常有用的数据类型和算法。 当拥有一个模板时,编译器将根据模板自动创建一个函数,该函数会 阅读全文
posted @ 2023-08-18 15:37 一杯清酒邀明月 阅读(106) 评论(0) 推荐(0) 编辑
C++快速入门 第四十三讲:链接和作用域2
摘要:1 header.h文件 2 3 #ifndef HEADER_H 4 #define HEADER_H 5 6 unsigned long returnFactorial(unsigned short num); 7 static const unsigned short headerNum = 阅读全文
posted @ 2023-08-18 15:36 一杯清酒邀明月 阅读(23) 评论(0) 推荐(0) 编辑
C++快速入门 第四十二讲:链接和作用域
摘要:与作用域有关的另一个概念是链接,当同时编译多个文件时,每个源文件被称为一个翻译单元,在某一个翻译单元里定义的东西在另一个翻译单元里使用正是链接发挥作用的地方。 存储类(storage class):每个变量都有一个存储类,它决定着程序将把变量的值储存在计算机的什么地方、如何存储、以及变量应该有怎样的 阅读全文
posted @ 2023-08-18 15:36 一杯清酒邀明月 阅读(33) 评论(0) 推荐(0) 编辑
C++快速入门 第四十一讲:命名空间
摘要:命名空间其实就是由用户定义的范围,同一个命名空间里的东西只要在这个命名空间里具有独一无二的名字就行了。 例如: 1 namespace author 2 3 { 4 5 std::string person; 6 7 } 8 9 namespace programmer 10 11 { 12 13 阅读全文
posted @ 2023-08-18 15:33 一杯清酒邀明月 阅读(57) 评论(0) 推荐(0) 编辑
C++快速入门 第四十讲:命名空间与模块化编程2
摘要:利用C++预处理器,我们可以让头文件只在这个类还没有被声明过的情况下才声明它。作为一种固定模式,这里使用常量名通常与相应的文件名保持一致(换成大写),把句号替换为下划线。例如rational.h文件对应RATIONAL_H 1 Rational.h文件 2 3 //Ration.h 4 //Crea 阅读全文
posted @ 2023-08-18 15:31 一杯清酒邀明月 阅读(29) 评论(0) 推荐(0) 编辑
C++快速入门 第三十九讲:命名空间和模块化编程
摘要:模块化:把程序划分成多个组成部分(即所谓的模块)。这是通过把程序代码分散到多个文件里,等编译程序时再把那些文件重新组合在一起实现的。 C++预处理器的#include指令提供了一种能够让编译器在编译主程序时把其他文件的内容包括进来的机制。例如用这个指令来包括iostream头文件。 实例:头文件应用 阅读全文
posted @ 2023-08-18 15:30 一杯清酒邀明月 阅读(141) 评论(0) 推荐(0) 编辑
C++快速入门 第三十八讲:避免内存泄漏
摘要:如果程序会运行很长时间(例如在服务器上,注意不是所有的操作系统都像windows一样每天都要重启),并且在不停地申请新的内存块,忘记释放那些已经不再有用的老内存迟早会把内存消耗殆尽,直接导致后边的new操作无法执行甚至崩溃。 动态内存是没有作用域的,所以必须由程序员来跟踪它们的使用情况,并在不需要用 阅读全文
posted @ 2023-08-18 15:29 一杯清酒邀明月 阅读(55) 评论(0) 推荐(0) 编辑
C++快速入门 第三十七讲:高级强制类型转换
摘要:实例1:静态强制转换 1 #include <iostream> 2 #include <string> 3 4 using namespace std; 5 class Company 6 { 7 public: 8 Company(string theName,string product); 阅读全文
posted @ 2023-08-18 15:29 一杯清酒邀明月 阅读(37) 评论(0) 推荐(0) 编辑
C++快速入门 第三十六讲:副本构造器
摘要:我们可以把一个对象赋值给一个类型与之相同的变量,编译器将生成必要的代码把“源”对象各属性的值分别赋值给“目标”对象的对应成员。这种赋值行为称之为逐位复制。(但如果某些成员变量是指针的话,对象成员逐位复制的结果是你将拥有两个一模一样的实例,而这两个副本里的同名指针会指向相同的地址) 实例1:带指针变量 阅读全文
posted @ 2023-08-18 15:27 一杯清酒邀明月 阅读(52) 评论(0) 推荐(0) 编辑
C++快速入门 第三十五讲:从函数或方法返回内存
摘要:在函数里调用new语句为某种对象或某种基本数据类型分配一块内存,再把那块内存的地址返回给程序的主代码,主代码将使用那块内存并在完成有关操作后立刻释放。 实例1:函数或方法返回内存 1 #include <iostream> 2 using namespace std; 3 4 int *newInt 阅读全文
posted @ 2023-08-18 15:13 一杯清酒邀明月 阅读(105) 评论(0) 推荐(0) 编辑
C++快速入门 第三十四讲:动态数组
摘要:虽然前面讲过的用new给基本类型和对象在运行时分配内存,但它们的尺寸在编译时就已经确定下来——因为我们为之申请内存的数据类型在程序中有明确的定义,有明确的单位长度。 但有些时候,必须等到程序运行时才能确定需要申请多少内存,甚至还需要根据程序的运行情况追加申请更多的内存。 例如: int *x = n 阅读全文
posted @ 2023-08-18 15:11 一杯清酒邀明月 阅读(57) 评论(0) 推荐(0) 编辑
C++快速入门 第三十三讲:动态的内存管理
摘要:到目前为止,所讲解的每个示例程序在完成它的任务时所使用的内存空间都是固定不变的。不能在程序运行期间动态增加或减少内存空间(即静态内存)。 在很多时候,需要存储的数据量到底有多大在事先往往是一个未知数,想要处理好这类情况,就需要在C++程序里使用动态内存。 动态内存由一些没有名字、只有地址的内存块构成 阅读全文
posted @ 2023-08-18 15:10 一杯清酒邀明月 阅读(40) 评论(0) 推荐(0) 编辑
C++快速入门 第三十二讲:assert函数和捕获异常
摘要:C语言和C++都有一个专门为调试而准备的工具函数 assert函数。这个函数是在assert.h库文件里定义的。 实例1:assert函数应用 1 #include <cassert> 2 //assert()函数需要有一个参数,它将测试这个输入参数的真或者假状态 3 //如果为真 Do nothi 阅读全文
posted @ 2023-08-18 15:09 一杯清酒邀明月 阅读(191) 评论(0) 推荐(0) 编辑
C++快速入门 第三十一讲:错误处理与调试2
摘要:让函数返回错误代码 实例:范围限制 1 #include <iostream> 2 #include <climits> 3 4 using namespace std; 5 class Factorial 6 { 7 public: 8 Factorial(unsigned short num); 阅读全文
posted @ 2023-08-18 15:07 一杯清酒邀明月 阅读(23) 评论(0) 推荐(0) 编辑
C++快速入门 第三十讲:错误处理和调试
摘要:程序出错可以分为两大类:编译时出错(complie-time error)和运行时错误(run-time error) suggest1:培养并保持一种编程风格 suggest2:认真对待编译器给出的错误/警告信息 suggest3:写代码三思而后行(先画流程图) suggest4:注意检查最基本的 阅读全文
posted @ 2023-08-18 15:07 一杯清酒邀明月 阅读(77) 评论(0) 推荐(0) 编辑
C++快速入门 第二十九讲:虚继承
摘要:通过虚继承某个基类,就是在告诉编译器:从当前这个类再派生出来的子类只能拥有那个基类的一个实例。 虚继承的语法: 1 class Teacher:virtual public Person 2 3 { 4 5 } 这样做的话便可以让Student和Teacher类都虚继承自Person类,编译器将确保 阅读全文
posted @ 2023-08-18 15:06 一杯清酒邀明月 阅读(47) 评论(0) 推荐(0) 编辑
C++快速入门 第二十八讲:多继承(multiple inheritance)
摘要:1 多继承语法: 2 3 //助教类既继承于老师类,又继承于学生类 4 class Assistant:public Teacher,public Student 5 { 6 }; 7 8 当遇到的问题无法只用一个“是一个”关系来描述的时候,就是多继承出场的时候。例即是学生,又是人,还是助教。 9 阅读全文
posted @ 2023-08-18 15:06 一杯清酒邀明月 阅读(72) 评论(0) 推荐(0) 编辑
C++快速入门 第二十七讲:运算符左移<<重载
摘要:一般来说,在调用operator<<()重载函数时,传递给它的是哪一个流,它返回的就应该是那个流的一个引用。 实例:左移操作符重载 1 #include <iostream> 2 #include <string> 3 #include <math.h> 4 5 using namespace st 阅读全文
posted @ 2023-08-18 15:04 一杯清酒邀明月 阅读(88) 评论(0) 推荐(0) 编辑
C++快速入门 第二十六讲:运算符重载2
摘要:去重载一个操作符,应该只有在必要的时候,比如实现一种新的数据类型时,才重载操作符。 重载操作符的目的是为了让代码更容易阅读和理解。 阅读全文
posted @ 2023-08-18 15:03 一杯清酒邀明月 阅读(8) 评论(0) 推荐(0) 编辑
C++快速入门 第二十五讲:运算符的重载
摘要:所谓重载,就是重新赋予新的含义,函数重载是对一个已有的函数赋予新的含义。 运算符重载的方法是定义一个重载运算符的函数,在需要执行被重载的运算符时,系统就自动调用该运算符。也就是说,运算符重载是通过定义函数实现的,运算符重载实质是是函数的重载。 实例1:复数加法 1 #include <iostrea 阅读全文
posted @ 2023-08-18 14:56 一杯清酒邀明月 阅读(57) 评论(0) 推荐(0) 编辑
C++快速入门 第二十四讲:抽象方法抽象方法(abstract method,也可以成为纯虚函数)
摘要:实例1:抽象方法应用 1 //int *pointer = new int;//声明一个整型指针,并在程序运行时将它指向分配的内存空间 2 //delect *pointer;//删除指针,释放内存 3 #include <iostream> 4 #include <string> 5 6 usin 阅读全文
posted @ 2023-08-18 14:55 一杯清酒邀明月 阅读(90) 评论(0) 推荐(0) 编辑
C++快速入门 第二十三讲:虚方法
摘要:TIPS: 引发问题的源头是我们使用了new在程序运行的时候才为dog和cat分配Dog类型和Cat类型的指针。这些都是它们在运行时才分配的类型,和它们在编译时的类型是不一样的。 如果拿不准要不要把某种方法声明为虚方法,那么就把它声明为虚方法好了。 在基类里把所有的方法都声明为虚方法会让最终的可执行 阅读全文
posted @ 2023-08-18 14:54 一杯清酒邀明月 阅读(49) 评论(0) 推荐(0) 编辑
C++快速入门 第二十二讲:静态属性和静态方法2
摘要:规则: 静态成员是所有对象共享的,所以不能在静态方法里访问非静态的元素。(因为每个对象都有自己的this指针,静态方法不是属于某个特定的对象,而是由全体对象共享的,静态成员存储地址与对象并不在一起) 非静态方法可以访问类的静态成员,也可以访问类的非静态成员。 this指针是类的一个自动生成、自动隐藏 阅读全文
posted @ 2023-08-18 14:53 一杯清酒邀明月 阅读(52) 评论(0) 推荐(0) 编辑
C++快速入门 第二十一讲:静态属性和静态方法
摘要:面对对象编程技术的一个重要特征是用一个对象把数据和对数据处理的方法封装在一起。 在前面的例子里,我们一直是在使用对象(也可以说某个类的实例)来调用方法,每个方法只处理调用它的那个对象所包含的数据,所有的数据都属于同一个对象。 C++允许我们把一个或多个成员声明为属于某个类,而不是仅属于该类的对象。( 阅读全文
posted @ 2023-08-18 14:52 一杯清酒邀明月 阅读(94) 评论(0) 推荐(0) 编辑
C++快速入门 第二十讲:一种特殊的友情关系——友元关系
摘要:友元关系是类之间的一种特殊关系,这种关系不仅允许友元类访问对方的public方法和属性,还允许友元访问对方的protected和private方法和属性。 实例1:友元关系访问保护量 1 #include <iostream> 2 #include <string> 3 4 using namesp 阅读全文
posted @ 2023-08-18 14:52 一杯清酒邀明月 阅读(29) 评论(0) 推荐(0) 编辑
C++快速入门 第十九讲:覆盖方法和重载方法
摘要:覆盖是指派生类函数覆盖基类函数(函数名字参数相同且基类函数必须有virtual关键字) 以上学习可知可以通过创建新的子类来重用现有的代码(继承) 当我们需要在基类里提供一个通用的函数,但在它的某个子类里需要修改这个方法的实现,覆盖(overriding)就可以做到。 实例1:覆盖应用 1 //级别 阅读全文
posted @ 2023-08-18 14:51 一杯清酒邀明月 阅读(68) 评论(0) 推荐(0) 编辑
C++快速入门 第十八讲:访问控制
摘要:访问控制:C++提供用来保护(保护意思是对谁可以调用某个方法和访问某一个属性加上一个限制)类里的方法和属性的手段 实例1:访问级别应用 1 //级别 允许谁来访问 2 //public 任何代码 3 //protected 这个类本身和它的子类 4 //private 只有这个类本身 5 #incl 阅读全文
posted @ 2023-08-18 14:49 一杯清酒邀明月 阅读(34) 评论(0) 推荐(0) 编辑
C++快速入门 第十七讲:继承机制中的构造器和析构器
摘要:实例1:构造器及其参数的继承应用 1 #include <iostream> 2 #include <string> 3 4 class Animal//定义Animal类 5 { 6 public: 7 std::string mouth; 8 std::string name; 9 10 Ani 阅读全文
posted @ 2023-08-18 14:48 一杯清酒邀明月 阅读(29) 评论(0) 推荐(0) 编辑
C++快速入门 第十六讲:this指针和类的继承
摘要:this指针指的是指向当前类生成的对象 继承机制使得程序员可以创建一个类的堆叠层次结构,每个子类均将继承在它的基类定义的方法和属性。 简单地说,就是通过继承机制,可以对现有的代码进行进一步扩展,并应用到新的程序中。 基类可以派生出其它的类,也称为父类或超类(如动物类) 子类是从基类派生出来的类(如乌 阅读全文
posted @ 2023-08-18 14:47 一杯清酒邀明月 阅读(61) 评论(0) 推荐(0) 编辑
C++快速入门 第十五讲:构造器和析构器
摘要:构造器和通常方法的主要区别: 1、构造器的名字必须和它所在类的名字一样 2、系统在创建某个类的对象时会第一时间自动调用这个类的构造器 3、构造器永远不会返回任何值 实例1:构造器的运用 1 #include <iostream> 2 3 #define FULL_GAS 85 4 5 class C 阅读全文
posted @ 2023-08-18 14:17 一杯清酒邀明月 阅读(112) 评论(0) 推荐(0) 编辑
C++快速入门 第十四节:对象
摘要:对象本质上不过是一种新的数据类型。 类(class)是一个模型(就像是一张蓝图,它决定一个对象将拥有什么样的属性、功能等),且每个类跟变量一样都有一个名字。当我们为这个类创建实例的时候,也就是对象(类的具体化实现)。 类由变量(类里的变量称属性)和函数(类里的函数称方法)组成,对象将使用那些变量来存 阅读全文
posted @ 2023-08-18 14:16 一杯清酒邀明月 阅读(34) 评论(0) 推荐(0) 编辑
C++快速入门 第十三讲:联合、枚举和类型别名
摘要:联合(union)与结构有很多相似之处,联合也可以容纳多种不同类型的值,但是它每次只能储存这些值中的一个(即当我们已经给联合里的一个成员赋值后,再给另一个成员赋值时,将丢弃第一个成员的值)。 实例1:联合的应用 1 #include <iostream> 2 3 union mima 4 { 5 u 阅读全文
posted @ 2023-08-18 14:15 一杯清酒邀明月 阅读(43) 评论(0) 推荐(0) 编辑
C++快速入门 第十二讲:传值、传址和传引用
摘要:实例1:值传递 1 #include<iostream> 2 3 void changeAge(int age,int newAge); 4 int main() 5 { 6 int age = 24;//定义一个age,占一处地址 7 std::cout << "My age is " << ag 阅读全文
posted @ 2023-08-18 14:14 一杯清酒邀明月 阅读(49) 评论(0) 推荐(0) 编辑
C++快速入门 第十一讲:结构
摘要:结构是一种由程序员自己定义的、由其他变量类型组合而成的数据类型。其所能包含的变量的个数是没有限制的。 实例1:简单数据库读写 1 #include <iostream> 2 #include <fstream> //文件操作 3 #include <windows.h> // 为了使用Sleep() 阅读全文
posted @ 2023-08-18 14:12 一杯清酒邀明月 阅读(58) 评论(0) 推荐(0) 编辑
C++快速入门 第十讲:复杂的数据类型——指针和数组
摘要:计算机是把数组以一组连续的内存块保存的。 数组的第一个元素的地址为该数组的基地址。 实例1:数组元素地址打印 1 #include <iostream> 2 3 using namespace std; 4 5 int main() 6 { 7 const unsigned short ITEMS 阅读全文
posted @ 2023-08-18 14:10 一杯清酒邀明月 阅读(30) 评论(0) 推荐(0) 编辑
C++快速入门 第九讲:复杂的数据类型——指针02
摘要:指针的类型必须与由它保存其地址的变量的类型一致,当某个变量的地址给了指针p时,就可以通过*p(即表示该地址的数据)来对该变量数据进行操作 一定要牢记一个事实:指针所保存的是内存中的一个地址,它并不保存指向的数据的值本身。因此务必确保指针对应一个已经存在的变量或者一块已经分配的内存 *有两种用途,一是 阅读全文
posted @ 2023-08-18 14:09 一杯清酒邀明月 阅读(29) 评论(0) 推荐(0) 编辑
C++快速入门 第八讲:复杂的数据类型——指针
摘要:小知识:程序以文件的形式存储在硬盘,但它们却是在计算机的内存中运行 对于变量可以通过变量名与地址两种方式进行索引,变量的地址在程序执行期间是不会发生变换的 地址是计算机内存中的某个位置;指针是专门用来存放地址的特殊类型变量 阅读全文
posted @ 2023-08-18 14:07 一杯清酒邀明月 阅读(24) 评论(0) 推荐(0) 编辑
C++快速入门 第七讲:复杂的数据类型
摘要:数组:可以把许多个同类型的值存储在同一变量名下 实例1:输入的数据存储到数组中,并计算其和与平均值输出 1 #include <iostream> 2 3 using namespace std;//使用作用域 4 5 int main() 6 { 7 int array[10]; 8 int i; 阅读全文
posted @ 2023-08-18 14:06 一杯清酒邀明月 阅读(29) 评论(0) 推荐(0) 编辑
C++快速入门 第六讲:函数的重载
摘要:函数重载:实质就是用同样的名字再定义一个有着不同参数类型及个数来实现不同操作的函数。 实例1:改变同一函数的输入参数类型 1 #include <iostream> 2 3 void convertTemperature(double tempIn, char typeIn); 4 void con 阅读全文
posted @ 2023-08-18 14:05 一杯清酒邀明月 阅读(48) 评论(0) 推荐(0) 编辑
C++快速入门 第五讲:输入输出小结
摘要:实例1:根据输入内容输出 1 #include<iostream> 2 using namespace std;//名字空间 3 int main() 4 { 5 char answer; 6 7 cout << "请问可以格式化您的硬盘吗?!【Y/N】" << "\n"; 8 cin >> ans 阅读全文
posted @ 2023-08-18 14:04 一杯清酒邀明月 阅读(67) 评论(0) 推荐(0) 编辑
C++快速入门 第四讲:文件操作
摘要:ifream与ofream分别为文件读取类和文件写入类 实例1:文件读取(读取同一文件夹的test.txt文件内容) 1 #include <fstream>// 涉及到了文件流操作 2 #include <iostream> 3 4 using namespace std; 5 6 int mai 阅读全文
posted @ 2023-08-18 14:03 一杯清酒邀明月 阅读(86) 评论(0) 推荐(0) 编辑
C++快速入门 第三讲:输入输出方法
摘要:实例1:忽略输入字符串的前面部分字符输出 1 #include <iostream> // 2 3 using namespace std;//名字空间 4 5 int main() 6 { 7 char buf[20];//只能存放19个字符,因为字符串以0结尾 8 9 cin.ignore(7) 阅读全文
posted @ 2023-08-18 14:00 一杯清酒邀明月 阅读(187) 评论(0) 推荐(0) 编辑
C++快速入门 第二讲:从一个小程序说起
摘要:cout(cout << i表示变量i流向屏幕显示)是一个输出流对象,属于basic_ostream类的对象。ostream类在iostream头文件中定义。同理cin(回车后,键盘输入缓冲区内容流向cin流的内部缓冲区,cin >> xx操作便从这个缓冲区提取数据,即键盘输入流向程序)为输入流对象 阅读全文
posted @ 2023-08-18 13:58 一杯清酒邀明月 阅读(50) 评论(0) 推荐(0) 编辑
C++快速入门 第一讲:C++语言与OO思想介绍
摘要:OO思想:每个对象都是一个完整的独立的个体,由相关的属性和行为组合与外界分隔。其思想就是将一切事物都看做一个对象,由于一个再复杂的模型结构都是由千千万万个对象组成的。从而使程序员不再面对一个个函数与变量,而是放眼全局,面对一个个对象。 OO思想的特点: 1封装:把对象的属性和方法结合成一个独立的系统 阅读全文
posted @ 2023-08-18 13:55 一杯清酒邀明月 阅读(93) 评论(0) 推荐(0) 编辑
OpenCV3.3深度神经网络DNN模块 实例7:GOTURN模型实现视频对象跟踪
摘要:1 #include <opencv2/opencv.hpp> 2 #include <opencv2/dnn.hpp> 3 #include <iostream> 4 5 using namespace cv; 6 using namespace cv::dnn; 7 using namespac 阅读全文
posted @ 2023-08-18 09:26 一杯清酒邀明月 阅读(46) 评论(0) 推荐(0) 编辑
OpenCV3.3深度神经网络DNN模块 实例6:CNN模型预测性别与年龄
摘要:1 #include <opencv2/opencv.hpp> 2 #include <opencv2/dnn.hpp> 3 #include <iostream> 4 5 using namespace cv; 6 using namespace cv::dnn; 7 using namespac 阅读全文
posted @ 2023-08-18 09:25 一杯清酒邀明月 阅读(117) 评论(0) 推荐(0) 编辑
OpenCV3.3深度神经网络DNN模块 实例5:FCN模型实现图像分割
摘要:1 #include <opencv2/opencv.hpp> 2 #include <opencv2/dnn.hpp> 3 #include <iostream> 4 5 using namespace cv; 6 using namespace cv::dnn; 7 using namespac 阅读全文
posted @ 2023-08-18 09:24 一杯清酒邀明月 阅读(104) 评论(0) 推荐(0) 编辑
OpenCV3.3深度神经网络DNN模块 实例4:SSD-MobileNet模型实时对象检测
摘要:1 #include <opencv2/opencv.hpp> 2 #include <opencv2/dnn.hpp> 3 #include <iostream> 4 5 using namespace cv; 6 using namespace cv::dnn; 7 using namespac 阅读全文
posted @ 2023-08-18 09:22 一杯清酒邀明月 阅读(59) 评论(0) 推荐(0) 编辑
OpenCV3.3深度神经网络DNN模块 实例3:SSD模型实现对象检测
摘要:1 #include <opencv2/opencv.hpp> 2 #include <opencv2/dnn.hpp> 3 #include <iostream> 4 5 using namespace cv; 6 using namespace cv::dnn; 7 using namespac 阅读全文
posted @ 2023-08-18 09:21 一杯清酒邀明月 阅读(74) 评论(0) 推荐(0) 编辑
OpenCV3.3深度神经网络DNN模块 实例2:GoogleNet-Caffe模型实现图像分类
摘要:1 #include <opencv2/opencv.hpp> 2 #include <opencv2/dnn.hpp> 3 #include <iostream> 4 //使用Googlenet Caffe模型实现图像分类 5 using namespace cv; 6 using namespa 阅读全文
posted @ 2023-08-18 09:20 一杯清酒邀明月 阅读(80) 评论(0) 推荐(0) 编辑
OpenCV3.3深度神经网络DNN模块 实例1:读取单张PNG文件(opencv3.3环境测试)
摘要:1 #include <opencv2/opencv.hpp> 2 #include <opencv2/dnn.hpp>//dnn模块类 3 #include <iostream> 4 5 using namespace cv; 6 using namespace std; 7 8 int main 阅读全文
posted @ 2023-08-18 09:07 一杯清酒邀明月 阅读(48) 评论(0) 推荐(0) 编辑
OpenCV3.2图像分割 实例10:绿幕视频背景替换
摘要:1 #include <opencv2/opencv.hpp> 2 #include <iostream> 3 4 using namespace cv; 5 using namespace std; 6 7 Mat replace_and_blend(Mat &frame, Mat &mask); 阅读全文
posted @ 2023-08-18 09:00 一杯清酒邀明月 阅读(213) 评论(0) 推荐(0) 编辑
OpenCV3.2图像分割 实例9:K-Means-证件照背景替换
摘要:1 #include <opencv2/opencv.hpp> 2 #include <iostream> 3 4 using namespace cv; 5 using namespace std; 6 7 Mat mat_to_samples(Mat &image); 8 int main(in 阅读全文
posted @ 2023-08-18 08:58 一杯清酒邀明月 阅读(78) 评论(0) 推荐(0) 编辑
OpenCV3.2图像分割 实例8:Grabcut原理与演示应用
摘要:1 #include <opencv2/opencv.hpp> 2 #include <iostream> 3 #include <math.h> 4 5 using namespace cv; 6 using namespace std; 7 8 int numRun = 0; 9 Rect re 阅读全文
posted @ 2023-08-18 08:57 一杯清酒邀明月 阅读(59) 评论(0) 推荐(0) 编辑
OpenCV3.2图像分割 实例7:基于分水岭图像分割
摘要:1 #include <opencv2/opencv.hpp> 2 #include <iostream> 3 4 using namespace cv; 5 using namespace std; 6 7 Mat watershedCluster(Mat &image, int &numSegm 阅读全文
posted @ 2023-08-18 08:56 一杯清酒邀明月 阅读(44) 评论(0) 推荐(0) 编辑
OpenCV3.2图像分割 实例6:基于距离变换的分水岭粘连对象分离与计数
摘要:1 #include <opencv2/opencv.hpp> 2 #include <iostream> 3 4 using namespace cv; 5 using namespace std; 6 7 int main(int argc, char** argv) { 8 Mat src = 阅读全文
posted @ 2023-08-18 08:55 一杯清酒邀明月 阅读(161) 评论(0) 推荐(0) 编辑
OpenCV3.2图像分割 实例5:GMM(高斯混合模型)图像分割
摘要:1 #include <opencv2/opencv.hpp> 2 #include <iostream> 3 4 using namespace cv; 5 using namespace cv::ml; 6 using namespace std; 7 8 int main(int argc, 阅读全文
posted @ 2023-08-18 08:54 一杯清酒邀明月 阅读(117) 评论(0) 推荐(0) 编辑
OpenCV3.2图像分割 实例4:GMM(高斯混合模型)样本数据训练与预言
摘要:1 #include <opencv2/opencv.hpp> 2 #include <iostream> 3 4 using namespace cv; 5 using namespace cv::ml; 6 using namespace std; 7 8 int main(int argc, 阅读全文
posted @ 2023-08-18 08:53 一杯清酒邀明月 阅读(61) 评论(0) 推荐(0) 编辑
OpenCV3.2图像分割 实例3:KMeans图像分割
摘要:1 #include <opencv2/opencv.hpp> 2 #include <iostream> 3 4 using namespace cv; 5 using namespace std; 6 7 int main(int argc, char** argv) { 8 Mat src = 阅读全文
posted @ 2023-08-18 08:52 一杯清酒邀明月 阅读(60) 评论(0) 推荐(0) 编辑
OpenCV3.2图像分割 实例2:KMeans对随机生成数据进行分类
摘要:1 #include <opencv2/opencv.hpp> 2 #include <iostream> 3 4 using namespace cv; 5 using namespace std; 6 7 int main(int argc, char** argv) { 8 Mat img(5 阅读全文
posted @ 2023-08-18 08:51 一杯清酒邀明月 阅读(39) 评论(0) 推荐(0) 编辑
OpenCV3.2图像分割 实例1:读取单张JPG图像(测试环境)
摘要:1 #include <opencv2/opencv.hpp> 2 #include <iostream> 3 4 using namespace cv; 5 6 int main(int argc, char** argv) 7 { 8 Mat src = imread("toux.jpg");/ 阅读全文
posted @ 2023-08-18 08:50 一杯清酒邀明月 阅读(29) 评论(0) 推荐(0) 编辑
ITK 实例17 阈值水平集算法对脑部MHA文件进行三维分割
摘要:1 #include "itkImage.h" 2 #include "itkThresholdSegmentationLevelSetImageFilter.h" 3 4 #include "itkFastMarchingImageFilter.h" 5 #include "itkBinaryTh 阅读全文
posted @ 2023-08-16 15:01 一杯清酒邀明月 阅读(66) 评论(0) 推荐(0) 编辑
ITK 实例16 阈值水平集算法对脑部PNG图像进行二维分割
摘要:1 #include "itkImage.h" 2 #include "itkThresholdSegmentationLevelSetImageFilter.h" 3 4 #include "itkFastMarchingImageFilter.h" 5 #include "itkBinaryTh 阅读全文
posted @ 2023-08-16 14:59 一杯清酒邀明月 阅读(63) 评论(0) 推荐(0) 编辑
ITK 实例15 测量主动轮廓算法对脑部PNG图像进行二维分割
摘要:1 #include "itkGeodesicActiveContourLevelSetImageFilter.h" 2 3 #include "itkCurvatureAnisotropicDiffusionImageFilter.h" 4 #include "itkGradientMagnitu 阅读全文
posted @ 2023-08-16 14:58 一杯清酒邀明月 阅读(170) 评论(0) 推荐(0) 编辑
ITK 实例14 快速步进算法对脑部PNG图像进行二维分割
摘要:1 //包含用来从输入图像中去除噪声头文件 2 #include "itkCurvatureAnisotropicDiffusionImageFilter.h" 3 //这两个滤波器连在一起将产生调节描述水平集运动的微分方程中的速率系数的图像潜能。 4 #include "itkGradientMa 阅读全文
posted @ 2023-08-16 14:56 一杯清酒邀明月 阅读(84) 评论(0) 推荐(0) 编辑
ITK 实例13 ITK分水岭算法对PNG图像进行二维分割
摘要:1 #include <iostream> 2 #include "itkVectorGradientAnisotropicDiffusionImageFilter.h" 3 #include "itkVectorGradientMagnitudeImageFilter.h" 4 #include 阅读全文
posted @ 2023-08-16 14:54 一杯清酒邀明月 阅读(116) 评论(0) 推荐(0) 编辑
ITK 实例12 置信连接对PNG向量图像进行二维分割
摘要:1 #include "itkVectorConfidenceConnectedImageFilter.h" 2 #include "itkImage.h" 3 #include "itkImageFileReader.h" 4 #include "itkImageFileWriter.h" 5 # 阅读全文
posted @ 2023-08-16 14:53 一杯清酒邀明月 阅读(29) 评论(0) 推荐(0) 编辑
ITK 实例11 边缘保留平滑滤波对脑部MHA文件进行三维滤波
摘要:1 #include "itkImage.h" 2 #include "itkCastImageFilter.h" 3 #include "itkCurvatureFlowImageFilter.h" 4 #include "itkImageFileReader.h" 5 #include "itk 阅读全文
posted @ 2023-08-16 14:52 一杯清酒邀明月 阅读(38) 评论(0) 推荐(0) 编辑
ITK 实例10 边缘保留平滑滤波对PNG图像进行二维滤波
摘要:1 #include "itkImage.h" 2 #include "itkCastImageFilter.h" 3 #include "itkCurvatureFlowImageFilter.h" 4 #include "itkImageFileReader.h" 5 #include "itk 阅读全文
posted @ 2023-08-16 14:52 一杯清酒邀明月 阅读(38) 评论(0) 推荐(0) 编辑
ITK 实例9 孤立连接算法对脑部MHA文件进行三维分割
摘要:1 #include "itkIsolatedConnectedImageFilter.h" 2 #include "itkImage.h" 3 #include "itkCastImageFilter.h" 4 #include "itkCurvatureFlowImageFilter.h" 5 阅读全文
posted @ 2023-08-16 14:51 一杯清酒邀明月 阅读(29) 评论(0) 推荐(0) 编辑
ITK 实例8 孤立连接算法对脑部PNG图像进行二维分割
摘要:1 #include "itkIsolatedConnectedImageFilter.h" 2 #include "itkImage.h" 3 #include "itkCastImageFilter.h" 4 #include "itkCurvatureFlowImageFilter.h" 5 阅读全文
posted @ 2023-08-16 14:49 一杯清酒邀明月 阅读(36) 评论(0) 推荐(0) 编辑
ITK 实例7 置信连接算法对脑部MHA文件进行三维分割
摘要:在这个例子中使用前面例子中的代码,并设置图像的维数为 3 。应用梯度各向异性扩散来平滑图像。这个滤波器使用两个迭代器、一个值为 0.05 的 time step 和一个值为 3 的conductance 值,然后使用置信连接方式对平滑后的图像进行分割。使用的五个种子点的坐标分别为( 118 , 85 阅读全文
posted @ 2023-08-16 14:49 一杯清酒邀明月 阅读(73) 评论(0) 推荐(0) 编辑
ITK 实例6 置信连接算法对脑部PNG图像进行二维分割
摘要:1 #include "itkConfidenceConnectedImageFilter.h"//包含置信连接类 2 //图像中存在的噪声会降低这个滤波器生长大面积区域的能力。当面对噪声图像时,通常 3 //是使用一个边缘保留平滑滤波器 4 #include "itkCastImageFilter 阅读全文
posted @ 2023-08-16 14:47 一杯清酒邀明月 阅读(59) 评论(0) 推荐(0) 编辑
ITK 实例5 领域连接算法对脑部PNG图像进行二维分割
摘要:1 #include "itkNeighborhoodConnectedImageFilter.h" 2 #include "itkImage.h" 3 #include "itkCastImageFilter.h" 4 //使用 itk::CurvatureFlowImageFilter 在保护边 阅读全文
posted @ 2023-08-16 14:45 一杯清酒邀明月 阅读(31) 评论(0) 推荐(0) 编辑
ITK 实例4 OTSU算法对PNG图像进行多阈值二维分割
摘要:1 #include "itkOtsuMultipleThresholdsCalculator.h"//包含头文件 2 3 #include "itkImage.h" 4 #include "itkImageFileReader.h" 5 #include "itkImageFileWriter.h 阅读全文
posted @ 2023-08-16 14:44 一杯清酒邀明月 阅读(82) 评论(0) 推荐(0) 编辑
ITK 实例3 OTSU算法对PNG图像进行单阈值二维分割
摘要:1 #include "itkOtsuThresholdImageFilter.h"//Otsu分割头文件 2 #include "itkImage.h" 3 #include "itkImageFileReader.h" 4 #include "itkImageFileWriter.h" 5 6 阅读全文
posted @ 2023-08-16 14:43 一杯清酒邀明月 阅读(72) 评论(0) 推荐(0) 编辑
ITK 实例2 连接门限对脑部MHA文件进行三维分割
摘要:1 #include "itkConnectedThresholdImageFilter.h"//连接门限头文件 2 #include "itkImage.h" 3 #include "itkCastImageFilter.h" 4 #include "itkCurvatureFlowImageFi 阅读全文
posted @ 2023-08-16 14:41 一杯清酒邀明月 阅读(36) 评论(0) 推荐(0) 编辑
ITK 实例1 连接门限对脑部切片PNG图像进行二维分割
摘要:1 #include "itkConnectedThresholdImageFilter.h"//连接门限头文件 2 #include "itkImage.h" 3 #include "itkCastImageFilter.h" 4 #include "itkCurvatureFlowImageFi 阅读全文
posted @ 2023-08-16 14:39 一杯清酒邀明月 阅读(55) 评论(0) 推荐(0) 编辑
ITK 实例8 PNG图像进行不带滤波的二维导函数提取
摘要:使用 itk::DerivativeImageFilter 来计算一幅图像的偏微分——图像沿一个特定的坐标轴方向上的微分。 1 #include "itkImage.h" 2 #include "itkImageFileReader.h" 3 #include "itkImageFileWriter 阅读全文
posted @ 2023-08-16 14:28 一杯清酒邀明月 阅读(61) 评论(0) 推荐(0) 编辑
ITK 实例7 MHA格式文件进行带滤波三维的梯度强度提取
摘要:1 #include "itkImageFileReader.h" 2 #include "itkImageFileWriter.h" 3 #include "itkRescaleIntensityImageFilter.h" 4 #include "itkGradientMagnitudeRecu 阅读全文
posted @ 2023-08-16 14:27 一杯清酒邀明月 阅读(31) 评论(0) 推荐(0) 编辑
ITK 实例6 PNG图像进行带滤波的二维梯度强度提取
摘要:微分是对一个数字数据的不规则操作。实际中可以方便地定义一个执行微分的比例。在执行这样的滤波时使用一个高斯核被认为是最便捷的选择。通过选择一个特定的高斯标准差(σ) ,就可以选择一个相应的比例来去除通常被认为是噪声的高频部分。 itk::GradientMagnitudeRecursiveGaussi 阅读全文
posted @ 2023-08-16 14:24 一杯清酒邀明月 阅读(36) 评论(0) 推荐(0) 编辑
ITK 实例5 PNG图像进行不带滤波的二维梯度强度提取
摘要:图像梯度的强度广泛地应用在图像分析中,主要用来帮助检测对象轮廓和分离均匀区域。 itk::GradientMagnitudeImageFilter 使用一个简单的有限差分方式来计算图像中每个像素位置的梯度强度。例如:在二维情况下计算等同于将图像使用模块类型,如下所示:然后计算它们的平方和并计算和的平 阅读全文
posted @ 2023-08-16 14:22 一杯清酒邀明月 阅读(35) 评论(0) 推荐(0) 编辑
ITK 实例4 MHA格式文件进行三维非线性映射
摘要:1 #include "itkImage.h" 2 #include "itkImageFileReader.h" 3 #include "itkImageFileWriter.h" 4 //非线性映射滤波器头文件 5 #include "itkSigmoidImageFilter.h" 6 //注 阅读全文
posted @ 2023-08-16 14:22 一杯清酒邀明月 阅读(42) 评论(0) 推荐(0) 编辑
ITK 实例3 PNG图像进行二维非线性映射
摘要:1 #include "itkImage.h" 2 #include "itkImageFileReader.h" 3 #include "itkImageFileWriter.h" 4 //非线性映射滤波器头文件 5 #include "itkSigmoidImageFilter.h" 6 7 i 阅读全文
posted @ 2023-08-16 14:20 一杯清酒邀明月 阅读(33) 评论(0) 推荐(0) 编辑
ITK 实例2 MHA格式文件进行三维线性映射
摘要:1 #include "itkImage.h" 2 #include "itkImageFileReader.h" 3 #include "itkImageFileWriter.h" 4 //线性映射头文件 5 #include "itkCastImageFilter.h" 6 #include " 阅读全文
posted @ 2023-08-16 14:18 一杯清酒邀明月 阅读(44) 评论(0) 推荐(0) 编辑
ITK 实例1 PNG图像进行二维线性映射
摘要:1 #include "itkImage.h" 2 #include "itkImageFileReader.h" 3 #include "itkImageFileWriter.h" 4 //线性映射头文件 5 #include "itkCastImageFilter.h" 6 #include " 阅读全文
posted @ 2023-08-16 14:17 一杯清酒邀明月 阅读(24) 评论(0) 推荐(0) 编辑