写在前面 ---- 下面的内容,《Obcject-C 高级编程 iOS与OS X 多线程和内存管理》一书是去年看的。那时想总结的,忘记了,趁着最近有时间,再把这本书回炉重新理解再看一遍,对比自己的理解,以及一些Swift内存管理的知识总结的内容,可能文章内容会比较长,就是希望自己能把内存管理这方面的知识真正的仔细总结一下,也方便自己以后回顾: 到底什么是ARC? 在书中一句话总结成了“ARC(Automatic Reference Counting)代表的是自动引用计数,
UMLChina整理的UML建模工具列表请见http://www.umlchina.com/tools/search.aspx
UMLChina整理的UML建模工具列表请见http://www.umlchina.com/tools/search.aspx
UMLChina整理的UML建模工具列表请见http://www.umlchina.com/tools/search.aspx
我们经常会遇到这类问题,往往没有注意环境隔离,导致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
-i (prompt before deleting user's crontab) 2.4 crontab 表达式 的格式 # 文件格式說明 # ┌──分鐘(0 - 59) # │ ┌──小時 分钟执行一次command * * * * * command # 每小时的第3和第15分钟执行 3,15 * * * * command # 在上午8点到11点的第3和第15分钟执行 3,15 8- 11 * * * command # 每隔两天的上午8点到11点的第3和第15分钟执行 3,15 8-11 */2 * * command 2.5 操作示例 添加或更新 crontab 中的命令 crontab
是的,我们只要把1个数组赋值给1个Variant,然后去读取Variant里面的b8-11位,那获取的就是数组的地址或者是地址的地址了: - 0x20 8-11存的是数组地址 - 0x60 8-11存的是数组地址的地址 实现代码: Sub TestMyArrayPtr() Dim Arr() As Byte ReDim Arr(3) As Byte Dim ptr Printf "b = 0x% x", b Dim ptr As Long CopyMemory VarPtr(ptr), VarPtr(b(8)), 4 ' - 0x20 8- 11存的是数组地址 ' - 0x60 8-11存的是数组地址的地址 If b(1) = &H60 Then CopyMemory VarPtr(ptr), ptr, 4
crontab 常用表达式 描述 表达式 每1分钟执行一次 * * * * * 每小时的第3和第15分钟执行 3,15 * * * * 在上午8点到11点的第3和第15分钟执行 3,15 8-11 * * * 每隔两天的上午8点到11点的第3和第15分钟执行 3,15 8-11 */2 * * 每个星期一的上午8点到11点的第3和第15分钟执行 3,15 8-11 * * 1 每晚的21:30执行 30 分执行 30 7 8 * * 指定每年的6月8日5:30执行 30 5 8 6 * 指定每星期日的6:30执行 30 6 * * 0 每月10号及20号的3:30执行 30 3 10,20 * * 每天8- 11点的第25分钟执行 25 8-11 * * * 每15分钟执行一次 */15 * * * * 每个月中,每隔10天6:30执行一次 30 6 */10 * * 每天早上8点30分执行 30 08 * 11 */2 * * 每周一上午8点到11点的第3和第15分钟执行 3,15 8-11 * * 1 每晚的21:30执行 30 21 * * * 每月1,10,22日的4:45执行 45 4 1,10,22
前言 前阵子做了一个实战分享《【干货】C++ OpenCV案例实战---卡片截取(附代码)》,今天我们再把以前学习到的东西综合练习一下,做一个获取个数的小案例。 实现效果 ? 上图可以看到右边的图片我们已经进行过二值化处理后的显示效果了 ---- 形态学操作 接下来我们要进行形态学的操作,首先看到上面右图,我们的每个枣的里面会有白色的点,是光打上后我们二值化变为的白色,所以我们这里要先进行一下腐蚀操作,把枣里面的白点去掉 可以看到右图中的白点已经全部处理掉了 接下来我们再进行膨胀的操作,用于把黑色区域进行分割,这里的膨胀操作可以连续做几次,尽量把黑色区域缩小,我的参数里面我做了5次膨胀 ? 再看一下效果 ? 然后我们根据上面图里面白点进行局部阈值二值化处理 ? 显示效果为 ? 可以看到右边基本把白色的连接区域都分割开了,只不过各别地方也有一点白点 然后我们再通过形态学膨胀两次进行处理 ? 把一点白点断开的区域通过膨胀再连接到一起 ---- 寻找并计算轮廓 根据上面的图我们在那个基础上寻找轮廓,参数用的CV_RETR_EXTERNAL,这里我们只找最外侧轮廓即可。 ?
只需要一块4年前的GTX 1650(显存4GB),AI出图效果堪比当前最好的开源模型SDXL。
由于凸性函数在最大值(最小值)任意一侧都具有单调性,因此,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,与已知矛盾,故假设不成立。
更加细心的人会发现,白点的RGB值是(245,245,245),这就让我找到了一个非常简单并且高效的方式,就是直接去搜索这个白点,注意到白点是一个连通区域,像素值为(245,245,245)的像素个数稳定在 由于每一张图像中真正对于当前判断有意义的区域只在屏幕中央位置,即人和目标物体所在的位置,因此,每一张截图的上下两部分都是没有意义的,因此,我们将采集到的大小为1280720的图像沿x方向上下各截去320720大小, 考虑到训练数据中fast-search会产生大量有白点的数据,为了杜绝白色圆点对网络训练的干扰,我们对每一张图进行了去白点操作,具体做法是,用白点周围的纯色像素填充白点区域。 Fine 模型数据预处理 为了进一步提升模型的精度,我们为fine模型建立了数据集,对训练集中的每一张图,在目标点附近截取320*320大小的一块作为训练数据, 为了防止网络学到trivial的结果,我们对每一张图增加了 fine模型数据同样进行了去白点操作。
* * cmd 3 4 实例2:每小时的第3和第15分钟执行 5 3,15 * * * * cmd 6 7 实例3:在上午8点到11点的第3和第15分钟执行 8 3,15 8- 11 * * * cmd 9 10 实例4:每隔两天的上午8点到11点的第3和第15分钟执行 11 3,15 8-11 */2 * * cmd 12 13 实例5:每周一上午8点到11 点的第3和第15分钟执行 14 3,15 8-11 * * 1 cmd 15 16 实例6:每晚的21:30执行 17 30 21 * * * cmd 18 19 实例7:每月1、10、
myCommand * * * * * myCommand 实例2:每小时的第3和第15分钟执行 3,15 * * * * myCommand 实例3:在上午8点到11点的第3和第15分钟执行 3,15 8- 11 * * * myCommand 实例4:每隔两天的上午8点到11点的第3和第15分钟执行 3,15 8-11 */2 * * myCommand 实例5:每周一上午8点到11点的第3和第15 分钟执行 3,15 8-11 * * 1 myCommand 实例6:每晚的21:30重启smb 30 21 * * * /etc/init.d/smb restart 实例7:每月1、10、22
myCommand * * * * * myCommand 实例2:每小时的第3和第15分钟执行 3,15 * * * * myCommand 实例3:在上午8点到11点的第3和第15分钟执行 3,15 8- 11 * * * myCommand 实例4:每隔两天的上午8点到11点的第3和第15分钟执行 3,15 8-11 */2 * * myCommand 实例5:每周一上午8点到11点的第3和第15分钟执行 3,15 8-11 * * 1 myCommand 实例6:每晚的21:30重启smb 30 21 * * * /etc/init.d/smb restart 实例7:每月1、10、22日的4 : 45
绝大多数还是基于有监督学习(比如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市场。 ---- “快程序”与微信小程序的各自的优势 “快程序”在九大手机厂商的扶持下,短期内,必将引来一次快速的发展。但长期下来,对于“快程序”与微信小程序,我更看好与微信小程序。
0)), VarPtr(v), 16 Dim ptr As Long CopyMemory VarPtr(ptr), VarPtr(b(8)), 4 ' - 0x20 8- 11存的是数组地址 ' - 0x60 8-11存的是数组地址的地址 If b(1) = &H60 Then CopyMemory VarPtr(ptr), ptr, 4
更加细心的人会发现,白点的RGB值是(245,245,245),这就让我找到了一个非常简单并且高效的方式,就是直接去搜索这个白点,注意到白点是一个连通区域,像素值为(245,245,245)的像素个数稳定在 由于每一张图像中真正对于当前判断有意义的区域只在屏幕中央位置,即人和目标物体所在的位置,因此,每一张截图的上下两部分都是没有意义的,因此,我们将采集到的大小为1280*720的图像沿x方向上下各截去320*720大小, ,具体做法是,用白点周围的纯色像素填充白点区域。 Fine 模型数据预处理 为了进一步提升模型的精度,我们为fine模型建立了数据集,对训练集中的每一张图,在目标点附近截取320*320大小的一块作为训练数据, 为了防止网络学到trivial的结果,我们对每一张图增加了 fine模型数据同样进行了去白点操作。