自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SQL中联表的运用

当出现要大量数据去查询时,不要一个个去SQL查询,应该要批量的去查询。“”“批量查询cavity信息”“”“”“批量查询SN相关信息”“”

2025-05-13 14:50:36 219

原创 数据库从A表导入到B表

对软件人员来说就是一句SQL的事情,但是对生产来说,可能需要重工了。临时协助处理了一个事情,生产数据上传到B表了,应该上传到A表。注意:这个是在A中自增加列,不复制B列的ID。

2025-04-29 15:58:29 143

原创 用python借用飞书机器人群发布定期内容

在群管理里有个功能,就是可以添加一个自定义的机器人,为了方便定期的发布和提醒业务。选择触发器并设定触发时间(例如每周定时),选择Webhook并配置。在需要接收通知的群组中新建群机器人,并获取Webhook地址。测试触发器是否正常工作,确保消息可以按时发送到群组。在飞书开放平台新建消息卡片并编辑内容,复制代码。1.使用Webhook和定时任务。最近在切换使用飞书。

2025-04-26 09:17:26 339

原创 用python写一个相机选型的简易程序

以上对选型提供初步的想法,具体可以根据个人需求进一步优化。今天就把之前写的一个选型的简易程序,供大家参考。最近有点忙,上来写的时间不多。

2025-04-26 09:09:34 607

原创 Django创建数据库表失败处理方法

手动删除数据库中的 Golden 表后,重新运行 makemigrations 和 migrate 命令时,Django 提示没有需要应用的迁移(No migrations to apply),导致表未重新创建。Django 的 django_migrations 表中仍然记录着已应用的迁移,导致 Django 认为不需要重新创建表。删除数据库表后,Django 的迁移文件仍然认为表已经存在,因此不会重新创建表。可能存在多个迁移文件,导致 Django 无法正确识别需要应用的迁移。如果还不行,就强制迁移。

2025-03-13 12:41:26 453

原创 用python数据匹配事项

临时接到一个需求,要对数据进行处理,主要是三个文件进行匹配,然后计算输出对应的良率。最后一步打包下,提供下需求方进行使用。这个很临时的任务,就完成事项,解决为主。①pyqt的,用界面操作QTDesigner,然后用PyUIC进行转换。利用pandas进行处理,然后用pyqt做个界面就可以了,比较方便。

2025-02-17 13:52:33 213

原创 python大恒相机保存RAW图和实时显示

临时有个任务需要进行数据采集。一、用python进行采集。

2025-02-13 17:37:11 511

原创 工业相机,镜头的选型及实战

例如:工作距离为500mm,传感器尺寸为4.8mm(高),视野范围为100mm,则焦距 ≈ 500 × 4.8 / 100 = 24mm。公式:焦距(f) = 工作距离(WD) × 传感器尺寸(H或V) / 视野范围(H或V)物体尺寸为6.4mm×6.4mm,检测精度为1μm(即0.001mm)。例如:视野范围为100mm,检测精度为0.1mm,则分辨率至少为1000像素。公式:分辨率(像素) = 视野范围(mm) / 检测精度(mm/像素)小光圈(如F8):适合高光照环境,景深较大。

2025-02-06 15:46:01 2460

原创 前后分离Vue3+Django 之简单的登入

如果发现前端输入信息后,后端报"OPTIONS /user/login/ HTTP/1.1" 405 0错误。可以从2个方面去排查,①路由的路径配置 ②Setting中跨域的配置。前后端分别启动,就可以进行尝试。应用的urls.py。

2025-01-23 14:06:32 1474

原创 Django的安装

在 testvue/settings.py 文件中,找到 INSTALLED_APPS 配置项,并添加你的应用。前端Vue3学习了一些常规的操作,要配合上后端进行通信,选择原先掌握的Django,数据库选择mysql。Django 是一个基于 Python 的 Web 框架,因此首先需要安装 Python。这将创建一个名为 myproject 的文件夹,其中包含 Django 项目的基本结构。这将创建一个名为 myapp 的文件夹,其中包含应用的基本结构。1.安装 Python。2.安装Django。

2025-01-22 16:31:31 885

原创 Vue3初学之商品的增,删,改功能

用一个商品的后台管理进行增,删,改的实现。

2025-01-21 17:43:38 862

原创 Vue3初学之Element Plus Dialog对话框,Message组件,MessageBox组件

如果ElementPlus是全局引入的,ElMessageBox的方法会自动挂载到app.config.globalProperties,可以在Vue实例中直接使用。如果ElementPlus是全局引入的,ElMessage会自动挂载到app.config.globalProperties,可以在Vue实例中直接使用。弹窗打开时仍然可以与背景页面交互,可以设置modal属性为false。ElMessage组件可以实现全局消息提示功能。3.MesageBox组件。

2025-01-20 13:14:19 1052

原创 Vue3初学之Element-plus Form表单

el-form 是一个表单容器,可以包含多个 el-form-item,每个 el-form-item 包裹具体的表单控件,如输入框、选择器、日期选择器等。1.使用 el-form 组件。比较使用的功能,可以跟官网学习。

2025-01-16 19:03:32 826 1

原创 Vue3初学之Element-plus-table组件及分页

官方网址:https://element-plus.org/zh-CN/component/table.html。5.使用 el-pagination 组件。3.使用 el-table 组件。安装 Element Plus。引入 Element Plus。自定义列,例如添加操作按钮。与el-table组合。

2025-01-15 12:39:00 621

原创 Vue3初学之路由

在 App.vue 文件中,使用 router-view 组件来显示当前路由匹配的组件,并使用 router-link组件来创建导航链接。如果在路由守卫中遇到错误,可以通过 next(error) 将错误传递给 Vue Router 的全局错误处理程序。Vue Router 4 提供了多种路由守卫,用于在路由跳转前后执行逻辑,例如权限检查、数据预加载等。路由独享守卫在单个路由配置中定义,可以用来对特定路由进行更细粒度的控制。组件内守卫在单个组件中定义,可以用来在组件级别进行路由控制。

2025-01-14 13:14:49 830

原创 Vue3初学之Pinia

大家可以把getter想象成Vue中的计算属性,它的作用就是返回一个新的结果,既然它和Vue中的计算属性类似,那么它肯定也是会被缓存的,就和computed一样。2.pinia中只有state、getter、action,抛弃了Vuex中的Mutation,Vuex中mutation一直3.都不太受小伙伴们的待见,pinia直接抛弃它了,这无疑减少了我们工作量。Pinia的学习,在Vue2中推荐使用Vuex,而Vue3中推荐使用Pinia,那么一起进行Pinia的学习。使用 Pinia 来管理应用状态。

2025-01-13 14:44:26 1031

原创 用python进行大恒相机的调试

gxipy 这个库文件可以找大恒工程师要,拿到后就可以直接调用。目前在用的黑白,彩色相机都是同一套。#枚举设备,返回设备数量和设备信息列表。跟大恒工程师沟通,拿到API接口库。#获取第一个设备的序列号并打开设备。# 从第 0 个流通道获取一幅图像。#关闭所有 OpenCV 窗口。工作中需要用到大恒相机。# 停止采集并关闭设备。

2025-01-13 09:51:07 920

原创 Vue3初学之组件通信

在 Vue 3 中,组件通信是一个非常重要的概念,它决定了如何在父子组件之间、兄弟组件之间以及跨层级组件之间传递数据和事件。父组件通过 provide 提供数据,子组件通过 inject 注入这些数据。对于复杂的应用,可以使用 Vuex 或 Pinia 来管理全局状态。在 Vue 3 中,可以使用 mitt 插件来实现全局事件总线。3.1 使用 provide 和 inject。5. 使用 Vuex 或 Pinia。3. 跨层级组件通信。

2025-01-11 20:18:08 390

原创 Vue3初学之插槽(slot)使用

在 Vue 3 中,插槽(Slots)是一种强大的内容分发机制,允许你在组件中定义可替换的内容区域,从而使组件更加通用和灵活。具名插槽允许在子组件中定义多个插槽,每个插槽都有一个唯一的名称。父组件可以通过指定插槽的名称来将内容插入到对应的插槽中。作用域插槽允许子组件向父组件传递数据的特殊插槽类型。父组件可以通过作用域插槽访问子组件传递的数据。动态插槽名允许父组件根据条件动态地选择将内容插入到哪个插槽中。

2025-01-10 16:48:22 472

原创 Vue3初学之常用的指令

v-show 也用于条件性地显示元素,但它始终会渲染元素,只是通过 CSS 的 display 属性来控制显示或隐藏。v-cloak 用于隐藏未编译的 Mustache 标签,直到 Vue 实例编译完成。v-bind 用于动态绑定一个或多个属性,或一个组件 prop 到表达式的值。v-pre 用于跳过元素和子元素的编译过程,适用于静态内容,可以提高渲染性能。v-once 用于一次性插值,插值的内容在首次渲染后不会更新。v-if、v-else-if、v-else:条件渲染。v-pre:跳过编译。

2025-01-10 14:38:43 333

原创 Vue3初学之双向绑定v-model

Vue 3 的双向数据绑定主要通过 v-model 指令实现。v-model 是一个语法糖,它在内部为不同的表单控件元素提供了不同的实现方式。1.文本输入框,多文本,复选框(checkbox),单选按钮(radio)当Vue 3.2以上的时候,可以使用defineModel来使用。

2025-01-09 09:42:02 496

原创 Vue3初学之Element-plus

②删除 node_modules 目录和 package-lock.json 文件,然后重新安装依赖:Remove-Item -Recurse -Force node_modules;如果你的项目依赖项中存在版本不兼容的问题,可以尝试使用 --legacy-peer-deps 选项来忽略对等依赖的版本检查:npm install element-plus --save --legacy-peer-deps。③使用 --legacy-peer-deps 选项。发现淘宝的镜像有时候也是很慢的,还可以换个。

2025-01-08 11:16:04 703

原创 Vue3初学之安装

Vue的核⼼库只关注视图层,不仅易于上手,还便于与第三方库或既有项⽬整合。另一方面,当与现代化的⼯具链以及各种⽀持类库结合使⽤时,Vue也完全能够为复杂的单页应用提供驱动。之前一直在做图像以及数据的开发,对前端的内容关注比较少。随着Vue越来越方便,先在写数据前,记录下Vue3的学习。Vue3+Django的前后开发框架,实现日常的平台管理,可视化界面等。期待能始终记录学习的过程,与大家一起共成长,不足之处请多多指正。傻瓜式安装,完成在要系统变量中可以查看,然后可以在command中,输入。

2025-01-07 13:40:16 451

原创 用python找SFR图像中的圆点

cv2.circle(rgb_image, (int(coord[0]), int(coord[1])), 5, (0, 0, 255), -1) # 绘制红色。= 0: # 确保坐标有效。上述代码只是其中一部分,后续可能会补全。将RAW10转换为RAW8,用于画图。#把mask的点都找出来坐标。2.然后计算offset。1.先找到图像中的圆心。一、SFR的角点计算。3.在进行角点的查找。#所有点取到中心位置。

2025-01-07 10:06:45 897

原创 用Python完成THKA的MODBUS传输

temperature = self._ser.read(2) # 读取温度数据(2字节)function_code = self._ser.read(1) # 读取功能码字节。data_length = self._ser.read(1) # 读取数据字节数字节。# humidity = ser.read(2) # 读取湿度数据(2字节)crc = self._ser.read(2) # 读取CRC校验(2字节)address = self._ser.read(1) # 读取地址字节。

2025-01-06 09:03:38 1146

原创 图像减去black_level的计算方法

OB在图像中也容易被叫black_level,在之前的几篇文章中有提到,尤其是在进行flat field中用到的比较多。之前朋友在后台咨询,就单独写下。代码很简单,可直接拿函数进行。pedestal可以是固定值,也可以是变量。一般RAW8会用16,RAW10会用64。一般RAW8会用16,RAW10会用64,进行直接代替。当然也可以取前前面几行平均进行。在减去OB时,要注意负数的情况。

2025-01-04 11:26:35 140

原创 用Python进行RU计算

将RAW10转换为RAW8,用于画图。只上部分代码,请理解,有疑问可以沟通。#= 绘制ROI(如果需要)

2025-01-04 09:23:30 679

原创 用Python进行LSC的计算

end_x = min(x + region_size//2, image.shape[1] - 1) # 确保不超出图像右边界。end_y = min(y + region_size//2, image.shape[0] - 1) # 确保不超出图像下边界。start_x = max(x - region_size//2, 0) # 确保不超出图像左边界。start_y = max(y - region_size//2, 0) # 确保不超出图像上边界。#网格5*5,固定坐标。

2025-01-03 09:07:45 864

原创 用python处理Color Uniformity计算

用CIEDE2000计算可以引用from skimage.color import deltaE_ciede2000。关键在点位的定位,根据圆的半径进行定位。用CIEDE2000进行色差分析。

2025-01-02 09:27:22 701

原创 用Python处理Relative illumination的计算方法

end_x = min(x + region_size//2, image.shape[1] - 1) # 确保不超出图像右边界。end_y = min(y + region_size//2, image.shape[0] - 1) # 确保不超出图像下边界。start_x = max(x - region_size//2, 0) # 确保不超出图像左边界。start_y = max(y - region_size//2, 0) # 确保不超出图像上边界。# 定义100x100区域的边界。

2024-12-31 08:58:14 530

原创 用Python进行Data-Matrix进行识别

膨胀是形态学操作中的一种,它通过增加图像中的亮区域来增强图像的特征,iterations定义膨胀的次数。用大恒工业相机进行拍摄,因项目不方便,所以不妨原图,放置二值化后的图和选取的位置图。#cv2.RETR_EXTERNAL 表示只检索最外层的轮廓,忽略所有的子轮廓。#形态学开运算是先腐蚀后膨胀的过程,它可以用来消除小的白噪声。#目的是处理二值图像,以减少图像中的噪声并增强图像的特征。

2024-12-30 09:20:07 1871

原创 用python计算SNR

select_center_region函数是区域选择。用于计算图像中某一块内容均值/标准差的比例。# 计算中心点的坐标。

2024-12-27 09:21:09 884

原创 用python处理Defect Pixels计算方法

处理暗态情况下的亮点的情况,要统计是否有单点,连通等情况。3,然后计算单点的,2个点,以及3个点以上。1.采集一张暗态的图片。

2024-12-26 09:41:35 487

原创 用python对FPN进行计算

从时态上分,可以分为fix pattern noise与temporal noise。Fix pattern noise 与时间无关,表现上看就是噪声幅度不随时间变化。Temporal noise是随时间变化。在暗态环境下,连续取5张图片,取平均后形成一张新的图片。2篇noise的编写,主要还是根据需求来进行编写。#计算相邻行平均值的差值。#计算相邻行平均值的差值。一、Noise的分类。#计算FPN_row。#计算FPN_col。

2024-12-25 08:48:33 558

原创 用Python对图像Temporal Noise计算

从时态上分,可以分为fix pattern noise与temporal noise。Fix pattern noise 与时间无关,表现上看就是噪声幅度不随时间变化。在暗态环境下,连续取5张图片,取平均后形成一张新的图片。分别对每个点,每行,每列与新生成的图片进行平方差计算。#计算所有图像与平均图像的平方差。#计算所有图像与平均图像的平方差。#计算所有图像与平均图像的平方差。#计算所有点的平方差的平均值。#计算所有行的平方差的平均值。#计算所有列的平方差的平均值。#计算TN_pixel。

2024-12-24 14:05:48 621

原创 QR Code 二维码的生成以及识别

打印出来的结果:[Decoded(data=b’SL58932U4’, type=‘QRCODE’, rect=Rect(left=40, top=40, width=210, height=210), polygon=[Point(x=40, y=40), Point(x=40, y=250), Point(x=250, y=250), Point(x=250, y=40)], quality=1, orientation=‘UP’)]一、利用QR code进行二维码的生成。可以进行获取要用的内容。

2024-12-23 09:21:23 530

原创 用python对Data-Matrix 二维码识别

Data Matrix原名Data code,由美国国际资料公司(International Data Matrix, 简称ID Matrix)于1989年发明。upper_white = np.array([180, 30, 255]) # 色度范围到180,饱和度上限30,亮度值最大为255。lower_white = np.array([0, 0, 200]) # 色度范围从0开始,饱和度较低,亮度值从200开始。#定义白色的HSV范围,这里是一个示例范围,可能需要根据具体情况调整。

2024-12-20 13:29:40 715

原创 用python进行Bin转Raw图

也可以用Imagewatch–pycharm里查看。# 重新塑形数组以匹配图像维度。ImageTool进行查看。bin文件转成Raw图。

2024-12-19 13:01:44 409

原创 Mark OC的计算方法

Mark点实质上物理中心定位,精度主要与Mark点位置、模组Tilt有关。2.测试机台间差异大,需要使用标准模组进行设备的点检。1.受设备调机和治具定位影响大,分布较离散。该方法光心可管控在30um之内。1.图中4个mark点坐标。一、Mark OC的原理。三、Python代码实现。2.交点坐标物理OC。

2024-12-17 12:46:46 441

原创 光心的计算方法

模组平面光源光心计算方法img_raw是读取RAW的编写的库。

2024-12-16 14:55:02 480

空空如也

空空如也

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

TA关注的人

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