自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (1)
  • 收藏
  • 关注

原创 Swift GCD 使用心得

本文最初发布在我的个人博客站点上。如有想沟通交流的同学,请移步 swift GCD 进行评论目录基础知识iOS 多线程实现方式并发和并行同步和异步串行队列和并行队列线程和调度队列调度队列 (DispatchQueue)主队列 (Main Queue)全局队列 (Global Queue)自定义队列 (Custom Queue)调度任务 (DispatchWorkItem)「当前线程」基本使用DispatchQueue 的同步/异步执行DispatchGroup 的使用场景一:多个网络接口同时开始请求,.

2022-02-07 22:23:54 1924 2

原创 Apple silicon芯片的Mac安装cocoapods(无需rosetta)

前些日子买的m1 max 芯片的MacBook Pro今天到了,配置环境费了我好大功夫,尤其是配置cocoapods。网上看到的 apple 芯片安装 cocoapods 大都是通过 rosetta 的方式进行的,但是我尝试之后发现其实没必要这样做。我的配置步骤如下:安装 brew,这个在brew官网就有脚本,粘贴执行即可。安装 rbenv,并通过其安装最新的 ruby(我装的是3.0.3)。安装最新的 ruby 后,将其设置为默认brew install rbenvrbenv init #记

2021-12-04 01:57:41 442

原创 2021-11-05 iOS 设置 UILabel 内容显示不下时自动缩放字体

private let dataLabel = UILabel().then { $0.font = UIFont.kep_digitalBoldSize(18) $0.textColor = .white $0.numberOfLines = 1 $0.adjustsFontSizeToFitWidth = true // 设置允许自动缩放 $0.minimumScaleFactor = 0.70 // 缩放比例 ...

2021-11-05 15:24:56 1104

原创 swift 判断字符是不是汉字

判断字符是不是汉字的条件为"\u{4E00}" <= s && s <= "\u{9FA5}",其中s即位要判断的字符。var greeting = "Hello, 你好呀lalala"for s in greeting { if "\u{4E00}" <= s && s <= "\u{9FA5}" { print("我是\(s), 是汉字") }}// output// 我是你, 是汉字// 我是好,

2021-09-12 19:01:47 1100

原创 iOS 根据字符串和字体计算所需label宽度

有时候需要根据一个字符串的内容和所用字体,计算显示这个字符串所需要的label宽度。可以使用以下方法计算:var greeting = "Hello, playground"let size = greeting.size(withAttributes: [.font: UIFont.systemFont(ofSize: 12)])print(size.width)输出:98.94140625然后使用ceil()对计算结果向上取整,即可得到所需要的宽度...

2021-09-12 18:53:26 518

原创 iOS应用内部浮窗实现

目录项目介绍环境依赖项目地址项目介绍本项目能在iOS应用内部生成一个悬浮窗,可用于应用间跳转、浮窗小组件等场景。项目基于UIWindow实现,可以设置浮窗的显示级别、设置浮窗能否被拖离屏幕、浮窗动画等。如下图所示环境依赖基础环境:Xcode Version 12.5.1,Swift version 5.1.3。项目使用 swift 编写,不含OC项目使用 CocoaPods 管理第三方库,运行项目前请先执行 pod install 安装第三方库,包括 SnipKit、Lookin、The

2021-09-12 17:51:49 1744

原创 iOS语法Tips(持续更新)

目录if...case...if…case…有时候一个变量的值会有很多种情况,但是我们只对其中一种情况关心。这时候如果使用switch语句的话,是这样的:switch value {case A: //codedefault: break}但是这样会显得代码很冗长。我们可以用更加简洁且具备更强大模式匹配功能的if...case...语句:if case A,B { //code}其中,A、B代表两个条件分支。例如对年龄的判断var age = 23if case 20...

2021-07-18 00:17:24 97 1

原创 python实现大疆Tello无人机控制平台并实现语音控制/手势控制/人脸跟踪/绿球跟踪/拍照录像

Tello智能信息处理平台介绍控制键盘控制语音控制视觉功能人脸跟踪绿球跟踪手势控制体态控制拍照录像结语介绍本项目是我的一个课程设计。本来打算做大型四旋翼无人机的控制,后来老师给了两个Tello无人机(分别是带拓展板和不带拓展板的),就转到了做Tello的控制。项目的GUI界面和后台逻辑以及功能整合、整体优化调试由我完成,其他队员负责各视觉功能子模块的实现和调试。源码及项目详细介绍请看GitHub仓库:Tello智能信息处理平台此平台使用python语言开发,可用于控制大疆公司的Tello系列无人机,

2021-02-02 22:01:09 10712 43

原创 PyQt/Qt解决分辨率不同的设备显示问题

问题及解决方案当两个不同分辨率不同的设备运行同一个由Qt开发的程序时,会出现控件大小不一致甚至无法正常显示等问题。解决这个问题的方法是在主函数(程序入口)最前面添加一行代码:app = QApplication(sys.argv)比如,if __name__ == '__main__': QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling) app = QApplication(sys.argv)

2021-01-04 00:11:27 5512 11

原创 【PyQt项目】班委的福音——班级线上提交文件系统

项目已上传至GitHub,具体代码和使用方法请点击链接新学期伊始,班内各种事务让我这个班长不堪重负,更何况我还是个考研狗。。。每到班级收交文件的时候,催来催去,整理来整理去的确实很麻烦。为了减轻我的负担,我做了一个线上提交文件的系统。主要特色有:客户端自动同步更新任务根据文件类型自动放入不同的文件夹根据姓名学号自动重命名文件支持同时上传多个文件名字自检验是否正确支持查看未提交人员名单和所差文件数量无文件大小限制开发语言:python。用到的特殊库:pyinstaller,pyqt,p

2020-09-14 00:44:05 797

原创 ftp.retrlines()使用RETR命令获取txt文件多行信息

正确步骤: self.HINT = '' def saveRetrieveData(self,data): self.HINT = self.HINT +'\n' + data #这样可以处理多行信息 def Retrlines(self): file = '/...' #你的txt文件地址 self.ftp.retrlines('RETR %s' % file, self.saveRetrieveData)如果self.HIN

2020-09-08 15:52:41 2041

原创 【Jetson nano技巧】jetson nano/linux系统 使用ssh + ftp + Royal TSX远程开发/远程传输文件的正确打开方式

目录前言搭建ssh搭建ftp远程文件传输前言我给Jetson nano配了个大概10英寸的显示屏,但是刚开始搞开发的时候,总是自己电脑和nano之间换来换去,很是麻烦,而且我这显示屏看着也不舒服。于是我着手在nano上搭建了远程调试+远程文件传输的环境,其中也是参考了我之间搭建云服务器的经验。我在电脑上使用的远程调试软件是Royal TSX,这是一款依赖于插件的软件,有收费版,但是免费的已经足够了。其可以实现ssh、ftp、sftp、VNC、teamViewer、remote desktop等众多功能

2020-08-29 23:11:13 3813 1

原创 【Jetson nano技巧】Jetson nano安装TensorFlow2.x(官方教程改进)

最近重新给板子烧了系统,想安装一下tensorflow。我的板子目前的环境是python3.6+jetpack4.3查了一下官方的教程,如下:按照这个步骤来的话,如果没有报错,就万事大吉了。但我这里报错是...preparing wheel metadata ...error...这个报错原因是还缺乏一些环境,需要使用以下命令安装sudo apt-get install libopenblas-base libopenblas-dev libblas-dev liblapack-dev

2020-08-29 17:05:28 1481

原创 【PyQt项目】利用PyQt设计GUI显示视频及图片/深度信息在飞船降落选址中的应用

项目介绍这个项目是我们计算机视觉课程的结课设计。由于疫情,几乎所有的课程都无法考试,老师们都选择了大作业(结课设计)的方式考察我们。在这个项目中,我主要负责的是GUI交互界面的设计,使用的工具是PyQt。整个项目的结构如下,依次是相机标定、计算深度图、模板匹配以及计算最优降落区域。相机标定使用的是棋盘格法深度图计算使用的是SGBM法,并进行伪彩色处理模板匹配并寻找最优区域的结果如下,模板匹配使用Sobel算子提取边缘,最优降落位置的算法使用迭代均值和阈值优化。程序的GUI界面如下

2020-07-28 12:22:00 538 2

原创 【显著性检测】Matlab实现显著性检测SR算法

目录简介代码运行结果简介从信息论的角度来看,有效编码假说将图像信息H(Image) 分为两部分:H(Image)=H(Innovation)+H(Prior Knowledge)H(Innovation)表示突出的部分,H(Prior Knowledge)则表示冗余的信息。显著性检测的SR方法即谱残差法,是通过去除图像冗余信息来获得图像与众不 同的部分,即显著目标。计算公式如下:算法步骤为:对图像进行傅立叶变换将局部平滑后的对数幅度谱作为冗余部分原对数幅度谱减去平滑后的对数幅度谱将剩

2020-07-11 12:25:12 6706 8

原创 【显著性检测】Matlab实现Itti显著性检测

目录理论知识代码步骤读取图像得到金字塔图像提取底层特征计算显著图显著图综合运行结果展示理论知识显著性检测 是指按照人类的视觉注意机制,判断出图像中的显著区域,并为该区域分配较高的显著值,通常认为显著区域更有可能包含目标,利用显著性检测的方法能够快速在图像中找到可能的目标区域,可以减少计算量。显著性检测主要是提取底层视觉特征来计算局部区域的差异性。Itti模型是一种经典的自底向上基于底层显著特征计算的显著性检测模型,其实现过程大致分为高斯滤波、计算底层空间特征图和计算显著性图,结构如下图所示篇幅原

2020-07-11 00:54:22 6305 15

原创 【TensorFlow】搭建一个简单的卷积网络进行图片分类,并用自己的数据集训练

目录环境数据集构建搭建卷积网络并训练评估预测和可视化环境tensorflow2.x需要的包有import tensorflow as tffrom tensorflow.keras.models import Sequentialfrom tensorflow.keras.layers import Dense, Conv2D, Flatten, Dropout, MaxPooling2Dfrom tensorflow.keras.preprocessing.image import Imag

2020-07-07 14:40:03 1563

原创 【tensorFlow】维度变换

目录前言前言tensorFlow维度变换可分为两个级别,一个是view级,一个是content级。view级维度变换不改变数据的存储关系,比如[3,28,28,3]变换维度为[3,784,3]之后,数据本身并没有改变,属于哪一行哪一列的元素还是可以确定。可以原模原样的恢复为[3,28,28,3]。content级维度变换会改变数据的存储关系。...

2020-05-11 16:40:00 484

原创 C++/opencv实现DLT(直接线性变换法)标定相机

目录背景C++实现头文件和全局变量读取txt文件里的坐标信息main函数选取标定点构造A矩阵构造U矩阵计算L矩阵求解内参数求解外参数计算重投影误差收尾运行结果背景老师布置的作业是利用已知点的3维坐标信息和成像信息,标定相机的内外参数,并计算误差。已知点的信息如下:其中,前三列是XYZ世界坐标,最后两列是成像平面的u v坐标。建议先吃透理论知识,理论知识可以参考:经典:传统相机标定方法...

2020-04-25 23:01:10 7117 23

原创 电子电路设计大作业——可以录制曲子的八音阶电子琴

大二的电气技术实践课的大作业,用proteus做了一个可以录制曲子的八音阶电子琴电路。原理比较简单,就是把基础电路糅合在了一起的产物。在仿真的时候,可能会因电脑性能原因,出现卡顿现象。下载链接:download.csdn.net/download/weixin_43562948/12278003具体用法可以私信我或者评论留下邮箱。...

2020-03-29 14:25:06 1427 13

原创 Haar特征计算的一些见解

最近在目标探测与识别课上学了积分图和Haar特征的相关知识。刚学的时候,对Haar特征的数量计算有一些疑惑。后来查阅相关资料之后,恍然大悟了。下面分享一下我的见解:积分图这个就不用多说了。积分图尺寸与原图像尺寸一致,积分图上任意一点(x,y)的值就是原图像上从左上角到对应(x,y)位置所围成的矩形区域所有像素的灰度值之和。由积分图计算Haar特征使用积分图计算Haar特征,主要是为了加快计...

2020-03-27 22:00:10 595

原创 Matlab拼接矩阵某一行/列为一个数值/字符串

最近学到目标检测识别的LBP特征,自编的程序里面有个步骤是把matlab里面矩阵的一列拼接成一个二进制数,比如a'=[0,1,1,0,0];要把a拼接转化成二进制数01100。我的步骤是t='';for l=1:length(a) t=[t,num2str(a(1,l))];endnum=str2num(t);这样就得到了拼接结果01100。利用了字符串可以拼接的特点,先变成...

2020-03-20 23:03:28 4039

原创 macOS Matlab报错java.lang.NullPointerException,点击新建脚本没反应

问题使用matlab新建脚本等操作时报错:java.lang.NullPointerException at sun.reflect.UnsafeFieldAccessorImpl.ensureObj(UnsafeFieldAccessorImpl.java:57) at sun.reflect.UnsafeObjectFieldAccessorImpl.get(UnsafeObjectF...

2020-03-14 22:35:42 1862

原创 解决 Android Studio报错while executing: am start -n

我这里的报错原因是,修改了包名/applicationId之后没有Sync。也有其他技术分享说是没有卸载干净,使用adb uninstall packageName命令来完全卸载app。不过做起来比较麻烦,需要给手机开启adb模式...

2020-03-13 23:23:30 740

原创 解决Android Studio报错Annotation processors must be explicitly declared now

在app的build.gradle中添加:android { ... defaultConfig { ... javaCompileOptions { annotationProcessorOptions { includeCompileClasspath = true } } }

2020-03-13 20:57:41 273

原创 解决Android Studio 报错ERROR: Gradle DSL method not found: 'google()'

在build.gradle中把google()改为 maven { url 'https://maven.google.com' }

2020-03-13 20:34:48 1562

原创 解决Android studio报错Manifest merger failed,Androidx和Android support v4/v7不能共存问题

这里用的解决方案是全部更换到Androidx1. 确保build tools版本在3.2.0以上,gradle版本在4.6以上,依赖库在28以上2. 依次点击:Refactor→Migrate to Androidx…3. 点击Migrate(可选择不备份)4. 点击Do Refactor最后等待完成就好啦。...

2020-03-12 21:33:57 1193

原创 Android studio导入aar包,解决新版本百度地图SDK没有com.baidu.navisdk.adapter及类BaiduNaviManagerFactory

按照百度地图官方文档初始化导航时,android studio报错:找不到BaiduNaviManagerFactory。后来看了一些网上的demo,发现他们的demo里用到的navisdk是百度地图SDK下载下来就带的,然而新版本的SDK已经改了。下面就是从新版本的SDK里得到这个包的方法:1. 把NaviTts.aar(如果用了内置导航语音的话)和onsdk_all.aar复制到项目的lib...

2020-03-11 23:05:39 2633

原创 Jetson Nano 使用yolov3-tiny及TensorRT加速,达到接近实时目标检测与识别

目录前言环境配置安装onnx安装pillow安装pycuda安装numpy模型转换yolov3-tiny--->onnxonnx--->trt运行前言Jetson nano运行yolov3-tiny模型,在没有使用tensorRT优化加速的情况下,达不到实时检测识别的效果,比较卡顿。英伟达官方给出,使用了tensorRT优化加速之后,帧率能达到25fps。本文详细介绍了在nan...

2020-03-08 00:17:53 10623 397

原创 Jetson Nano 安装onnx

如果没有anaconda环境,在nano上安装onnx的时候需要先安装依赖:sudo apt-get install protobuf-compiler libprotoc-dev 然后安装onnx:pip install onnx==1.4.1

2020-03-05 01:00:59 5277 5

原创 yoloV3模型转onnx模型报错

报错Traceback (most recent call last):File “yolov3_to_onnx.py”, line 812, in main()File “yolov3_to_onnx.py”, line 805, in mainonnx.checker.check_model(yolov3_model_def)File “/home/amax/miniconda3/...

2020-02-22 15:49:28 1523

原创 Java/Python 利用socket连接云服务器

之前做的socket程序都是在局域网环境下做的测试,后来自己搞了个云服务器,就想着在服务器上运行服务器端,然后手机移动设备上运行客户端。下面是实现步骤:一、编写好客户端和服务器端程序。这里我做了个安卓app作为客户端,用python写了个服务器端程序运行在阿里云服务器上。这里就不做具体说明了二、开放云服务器某端口我开放了个9999端口。三、获得服务器IP服务器一般有两个IP地址,一个...

2020-02-07 16:41:35 1199 7

原创 linux系统某文件夹not writeable的解决

在虚拟机用pip安装numpy的时候报错:…site-packages is not writeable。解决方法是:sudo chmod 777 -R /xxx/xxx/...-R后面就是目标文件夹的路径。777代表最高权限,任何用户都可读可写可改。-R是其子文件夹也同时可读可写。...

2020-01-29 20:56:50 8573 1

原创 Android Studio 导入项目时发生的错误及解决

1.Android Studio:Could not find com.android.tools.build:aapt2:3.5.1-5013011.原因:项目中全局build.gradle文件里的allprojects{}节点中没有配置google仓库。注意是全局的build.gradle,如图:解决方法:在build.gradle中有jcenter()的地方加上google(),它会...

2020-01-27 22:53:26 2615

原创 macOS配置Android的JDK、adb环境

androidJDK和adb是安卓开发的必要环境,以下是配置方法:一、JDK的配置1.下载JDKJDK的oracle官网下载地址是https://www.oracle.com/technetwork/java/javase/downloads/index.html但有时国内的网络环境下载它会很慢,这里推荐华为的镜像https://repo.huaweicloud.com/java/jdk...

2020-01-14 23:46:13 335

原创 macOS版homebrew+VScode配置opencv(c/c++)亲测可用

之前在win10的vscode上搭建过opencv环境,这次试了下Mac下的,虽然踩坑不少,但最终还是成功了。下面是具体步骤:一、Homebrew的安装我试了官网下的安装代码,虽然能成功,但是速度很慢,而且有几个环境因为墙的原因,没有下载。最后我用的是清华大学的镜像。教程可以参考:清华大学镜像安装homebrew二、利用Homebrew安装opencv有三个步骤:brew instal...

2020-01-13 14:49:49 9709 26

可以录制曲子的八音阶电子琴.pdsprj

大学生电子电路设计大作业,用proteus实现可以录制曲子的简易八音阶电子琴。可实现演奏以及演奏时曲子的录制、播放等功能.

2020-03-28

空空如也

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

TA关注的人

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