写在前面 ---- 下面的内容,《Obcject-C 高级编程 iOS与OS X 多线程和内存管理》一书是去年看的。那时想总结的,忘记了,趁着最近有时间,再把这本书回炉重新理解再看一遍,对比自己的理解,以及一些Swift内存管理的知识总结的内容,可能文章内容会比较长,就是希望自己能把内存管理这方面的知识真正的仔细总结一下,也方便自己以后回顾: 到底什么是ARC? 在书中一句话总结成了“ARC(Automatic Reference Counting)代表的是自动引用计数,
我们经常会遇到这类问题,往往没有注意环境隔离,导致Python项目包与包之间冲突。
小 A 有一个图 G,初始包含 n 个点,没有边。显然它是一个毒瘤图。 在所有操作进行前,小 A 会确定一个非负整数 k。 在每次操作后,小 A 都会针对当前图进行询问:假设初始所有点为白色,进行 k 次染色,每次等概率随机选择一个点将它染成黑色(一个点可能被重复选择多次),求 k 次染色后图中 仅保留白点时的连通块个数+仅保留黑点时的连通块个数 为了让你有更多的得分空间,小 A 还会给定一个辅助变量 \omega。若 \omega=1,你需要回答上述询问。若 \omega=0,对于每次询问你只需要求出 仅保留白点时的连通块个数 的 期望值。 一条边为黑边的概率为 1-Pr(x \text{为白点})-Pr(y \text{为白点})+Pr(x \text{为白点且}y\text{为白点})=1-2(\frac{n-1}n)^k+(\frac
前言 前阵子做了一个实战分享《【干货】C++ OpenCV案例实战---卡片截取(附代码)》,今天我们再把以前学习到的东西综合练习一下,做一个获取个数的小案例。 实现效果 ? 上图可以看到右边的图片我们已经进行过二值化处理后的显示效果了 ---- 形态学操作 接下来我们要进行形态学的操作,首先看到上面右图,我们的每个枣的里面会有白色的点,是光打上后我们二值化变为的白色,所以我们这里要先进行一下腐蚀操作,把枣里面的白点去掉 可以看到右图中的白点已经全部处理掉了 接下来我们再进行膨胀的操作,用于把黑色区域进行分割,这里的膨胀操作可以连续做几次,尽量把黑色区域缩小,我的参数里面我做了5次膨胀 ? 再看一下效果 ? 然后我们根据上面图里面白点进行局部阈值二值化处理 ? 显示效果为 ? 可以看到右边基本把白色的连接区域都分割开了,只不过各别地方也有一点白点 然后我们再通过形态学膨胀两次进行处理 ? 把一点白点断开的区域通过膨胀再连接到一起 ---- 寻找并计算轮廓 根据上面的图我们在那个基础上寻找轮廓,参数用的CV_RETR_EXTERNAL,这里我们只找最外侧轮廓即可。 ?
由于凸性函数在最大值(最小值)任意一侧都具有单调性,因此,mid与midmid中,更大(小)的那个 数自然更为靠近最值。此时,我们远离最值的那个区间不可能包含最值,因此可以舍弃。 如图所示,已知左右端点L、R,要求找到白点的位置。 思路:通过不断缩小 [L,R] 的范围,无限逼近白点。 反证法:假设 mmid 在白点的左边,则 mid 也一定在白点的左边,又由 f(mid) > f(mmid) 可推出 mmid < mid,与已知矛盾,故假设不成立。 2、当 f(mid) < f(mmid) 的时候,我们可以断定 mid 一定在白点的左边。 反证法:假设 mid 在白点的右边,则 mmid 也一定在白点的右边,又由 f(mid) < f(mmid) 可推出 mid > mmid,与已知矛盾,故假设不成立。
只需要一块4年前的GTX 1650(显存4GB),AI出图效果堪比当前最好的开源模型SDXL。
更加细心的人会发现,白点的RGB值是(245,245,245),这就让我找到了一个非常简单并且高效的方式,就是直接去搜索这个白点,注意到白点是一个连通区域,像素值为(245,245,245)的像素个数稳定在 由于每一张图像中真正对于当前判断有意义的区域只在屏幕中央位置,即人和目标物体所在的位置,因此,每一张截图的上下两部分都是没有意义的,因此,我们将采集到的大小为1280720的图像沿x方向上下各截去320720大小, 考虑到训练数据中fast-search会产生大量有白点的数据,为了杜绝白色圆点对网络训练的干扰,我们对每一张图进行了去白点操作,具体做法是,用白点周围的纯色像素填充白点区域。 Fine 模型数据预处理 为了进一步提升模型的精度,我们为fine模型建立了数据集,对训练集中的每一张图,在目标点附近截取320*320大小的一块作为训练数据, 为了防止网络学到trivial的结果,我们对每一张图增加了 fine模型数据同样进行了去白点操作。
绝大多数还是基于有监督学习(比如YOLOv5、YOLOv8、Faster RCNN等),半监督无监督急需突破,近几年在AI在工业界的应用接近理性发展;2.摄像头镜头缺陷检测介绍摄像头镜头一共有四种缺陷,分别是白点 、脏污、划伤、起翘等,数据集大小992张["bai_dian","zang_wu","hua_shang","qi_pao"] 可以看出,绝大多数缺陷为白点 ,且为小目标缺陷检测3.基于YOLOv8的摄像头缺陷检测算法 YOLOv8结构框图 3.1 SAHI:针对小目标检测的切片辅助超推理库为了处理小目标检测问题,SAHI算法在fine-tuning和推理阶段提出了一种基于切片的通用框架。 将输入图像分割成重叠的块,这样小目标物体的像素区域相对较大一些。
说直白点:就是用户无需下载 apk,直接点开就可以使用。 ---- 九大手机厂商为什么要推出快应用? 第一:微信小程序自 2017年1月9日 上线之后,在微信生态下,迅速推广。 2018年1月15日,在微信公开课Pro上,胡仁杰表示,目前小程序的使用用户数达到1.7亿,其中,三、四城市用户数达到50%。已经上线的小程序数量为58万。 说直白点,这代表着什么意思呢? 主要特点均类似于微信小程序“即点即用”,“即用即删”,无需下载,秒开各种应用,但收效都不像微信小程序那样明显。 九大手机厂商 联合推出“快应用”,在我看来,与其说是对微信小程序的围击,倒不如说是抱团读微信小程序的反击。 第二:“微信之父”张小龙曾放言,未来两年内,“小程序”将取代80%的App市场。 ---- “快程序”与微信小程序的各自的优势 “快程序”在九大手机厂商的扶持下,短期内,必将引来一次快速的发展。但长期下来,对于“快程序”与微信小程序,我更看好与微信小程序。
更加细心的人会发现,白点的RGB值是(245,245,245),这就让我找到了一个非常简单并且高效的方式,就是直接去搜索这个白点,注意到白点是一个连通区域,像素值为(245,245,245)的像素个数稳定在 由于每一张图像中真正对于当前判断有意义的区域只在屏幕中央位置,即人和目标物体所在的位置,因此,每一张截图的上下两部分都是没有意义的,因此,我们将采集到的大小为1280*720的图像沿x方向上下各截去320*720大小, ,具体做法是,用白点周围的纯色像素填充白点区域。 Fine 模型数据预处理 为了进一步提升模型的精度,我们为fine模型建立了数据集,对训练集中的每一张图,在目标点附近截取320*320大小的一块作为训练数据, 为了防止网络学到trivial的结果,我们对每一张图增加了 fine模型数据同样进行了去白点操作。
4.3 输出结果 它不仅准确识别了所有文字内容,连那些细微的设计元素都还原得一模一样: 头像上的两个白点,用 CSS 的 ::before 和 ::after 实现了。 * **SVG:** 用于绘制那个红色的 Logo,因为它包含特定的图形(两个白点)。 **3. 里面的白点可以用 `::before` 和 `::after` 伪元素实现。 * *气泡图:* 这是一个难点。 4.5 Gemma 4 的其他几个小模型 这里我也测试了 Gemma 4 的其他几个小模型(E2B、E4B),它们的视觉能力和速度表现都不如 26B A4B 版本,尤其是 E 系列的小模型,虽然支持音频输入 小模型欠缺的到底是什么 我们看到的设计效果只是表象,那么对于 Gemma 4 的小模型(E2B、E4B)来说,欠缺的到底是什么呢?
经常有同学分不清进程和线程的区别,今天刚好有空就整理了一份文章,方便大家区分进程和线程.定义不同:进程是操作系统资源分配的基本单位(说直白点就是指正在运行的程序),而线程是任务调度和执行的基本单位(说直白点就是程序中的一条执行线路 线程间的切换开销比进程间的切换开销小的多。线程是CPU调度的最小单位,它是进程的一部分,只能由进程创建。一个进程有用很多个线程,这些线程共享进程的资源和程序代码。 线程的出现也如操作系统一样都是为了最大限度的合理分配管理和利用CPU的空闲资源 欢迎大家在评论区评论留言,千锋哈尔滨小编会及时给大家解答疑惑的
手握10亿月活用户的微信,让小程序成为了B端的掘金之地和不可多得的流量入口。 01 巨头入场 2019年,被认为是小程序集中爆发并形成稳定格局的一年。 2017年1月9日,微信第一批小程序悄然上线。 阿里一贯的战略打法就是拉上所有能拉的小弟,全方位、全维度打造闭环生态系统,在布局小程序上也不例外。 与擅长社交、游戏等线上应用的微信小程序不同,支付宝小程序更精于线下的交易和服务。 和微信小程序、阿里小程序不同,百度小程序的差异化在于开放搜索、地图等重要入口,联动各B端合作伙伴,并开放相关系统,标榜的是“千亿流量、智能、开源”三大优势。 从线下场景连接来看 小程序的作用是连接更多的线下服务和场景,而小程序码也已经和二维码关联了,用户既然有成熟的使用二维码的习惯,当然小程序码也不在话下。 小程序发展至今,已有三年时间,时间虽不长,但流量惊人,无论是从使用习惯还是应用场景层面看,小程序已不再“小”。
他用黑底白点的骰子。 模拟出一张人像照片。 把图像放大,就可以看得更清楚。 他一共用了2500多颗骰子。 最后的成品就是这样。 = 206) return 5; if (206 < x && x <= 247) return 6; else return 6; } 整数1,表示骰子朝上的一面有1个白点 ;整数2,表示有2个白点;以此类推。 白点越少,表示这个区域越接近全黑;白点越多,表示越接近全白。根据白点值,将骰子依次放入,就能模拟出全图。 这种算法早在1981年就有人提出,当时用的是1~9个白点的多米诺骨牌。
想象你有一张黑白打印的文档扫描图:文字边缘有小白点(噪声)字母“o”中间有个小黑点(孔洞)有些笔画断开了✅形态学操作=对图像中“前景”(白色)的形状进行数学调整它不改变颜色,只改变结构——就像用橡皮泥捏形状 2.核心概念:结构元素(Kernel)结构元素是一个小矩阵(通常是正方形或圆形),定义了“邻域范围”和“形状”。 效果:前景区域缩小消除小的白色噪点分离粘连物体函数:cv2.erode(src,kernel,iterations=1)展开代码语言:PythonAI代码解释eroded=cv2.erode(binary_img morph_opening_result.jpg',opening)cv2.imwrite('morph_closing_result.jpg',closing)✅预期效果:开运算:清除了文字周围的黑点(前景噪点)闭运算:填补了字母“O”内部的小白点 ✅本章总结操作顺序主要作用典型应用腐蚀—缩小前景、去白点分离粘连、去噪膨胀—扩大前景、填黑洞连接断裂、补洞开运算腐蚀→膨胀去除小前景噪点清理文字毛刺闭运算膨胀→腐蚀填充小背景孔洞补全字符、连接笔画现在可以
(背后的原理、ul的宽度和图片宽度的关系、span与label、小白点选择栏的位置确定和再设一个容器做透明背景……) - 网页一致性(页面显示的间隔,美观);网页的易维护性要从可重复利用角度出发(小组件 、之后的修改……) - dl、dt、dd(这次知道有这个东西了……定义与解释) 3.问题 代码之中的 header的头部导航条部分中的小细线无显示。
他用黑底白点的骰子。 ? 模拟出一张人像照片。 ? 把图像放大,就可以看得更清楚。 ? 他一共用了2500多颗骰子。 ? 最后的成品就是这样。 ? x <= 206) return 5; if (206 < x && x <= 247) return 6; else return 6; } 整数1,表示骰子朝上的一面有1个白点 ;整数2,表示有2个白点;以此类推。 白点越少,表示这个区域越接近全黑;白点越多,表示越接近全白。根据白点值,将骰子依次放入,就能模拟出全图。 这种算法早在1981年就有人提出,当时用的是1~9个白点的多米诺骨牌。 ?
你一次只能看到一部分白点,它们会在三两成群在页面中无序移动。在没有白点的地方,灰色条纹似乎是延续不断的,而实际上条纹是被白点所截断的。” 他们说这种错觉反过来也有效(就是黑点在白色网格中)。 一些科学家认为这种错觉会让那些视力没有聚焦到的白点隐身。 四个区域刺激减弱vs两个区域刺激减弱 如果这些白点更加明显,比如变得更大,你的眼睛就不会让周围白点消失了。 对比下面两张图: 原图 白点被放大 你也可以让这个错觉消失。比如先看着屏幕,然后将屏幕前倾,再看着它。
河图上,排列成数阵的黑点和白点,蕴藏着无穷的奥秘; 洛书上,纵、横、斜三条线上的三个数字,其和皆等于15,十分奇妙。 如下: 北方:一个白点在内,六个黑点在外,表示玄武星象,五行为水。 东方:三个白点在内,八个黑点在外,表示青龙星象,五行为木。 南方:二个黑点在内,七个白点在外,表示朱雀星象,五行为火。 西方:四个黑点在内,九个白点在外,表示白虎星象,五行为金。 中央:五个白点在内,十个黑点在外,表示时空奇点,五行为土。 (其中,单数为白点为阳,双数为黑点为阴。
绝大多数还是基于有监督学习(比如Yolov5、Yolov7、Faster RCNN等),半监督无监督急需突破,近几年在AI在工业界的应用接近理性发展;2.摄像头镜头缺陷检测介绍摄像头镜头一共有四种缺陷,分别是白点 、脏污、划伤、起翘等;["bai_dian","zang_wu","hua_shang","qi_pao"] 可以看出,绝大多数缺陷为白点 3.基于yolov5的摄像头镜头缺陷检测算法3.1 yolov5 [17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5) ]4.训练结果分析和优化4.1优化方向:1)持续收集缺陷品;2)缺陷多为小目标 ,设计适合小目标检测的网络;3)数据增强;5.模型部署在工业缺陷检测项目中,最终部署往往不是python部署,而是通过c++,C#,QT下进行调用,因此需要根据需求转换成tensort、Libtorch 详见:https://blog.csdn.net/m0_63774211/article/details/129584070by CSDN AI小怪兽 我正在参与2023腾讯技术创作特训营第四期有奖征文