我的笔记放在我的仓库里了(个人学习的笔记,有待完善):
css0527/VisionNote
一、视觉理论学习的书籍:
OpenCV4快速入门
动手学计算机视觉
二、git 的学习:
Git(linux)_哔哩哔哩_bilibili
(以下是个人学习的笔记,有待完善)
三、git push时的报错以及解决方案:
1 error: remote origin already exists.
这个错误表示远程仓库 origin 已经存在了。你需要先更新或删除现有的远程仓库。
解决方法
方法一:更新现有远程仓库地址
git remote set-url origin 你的仓库
方法二:删除后重新添加
git remote remove origin
git remote add origin 你的仓库
2 大文件推送失败
remote: warning: File 动手学计算机视觉 (沈为,司翀杰,杨辰,俞勇) .pdf is 84.73 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB remote: error: Trace: d5c046ce8bae15284974391fb0c6948e67e0e242841f79ecc7e8c421e5c80fba remote: error: See https://gh.io/lfs for more information. remote: error: File git.docx is 239.40 MB; this exceeds GitHub's file size limit of 100.00 MB remote: error: GH001: Large files detected. You may want to try Git Large File Storage – https://git-lfs.github.com. To https://github.com/css0527/VisionNote.git ! [remote rejected] main -> main (pre-receive hook declined) error: failed to push some refs to 'https://github.com/css0527/VisionNote.git'
这个错误是因为你的仓库中有两个超大文件超过了 GitHub 的限制
解决方案
一、使用 LFS:如果你的账号有足够的 LFS 存储额度(GitHub 免费账户有 1GB 存储和 1GB 月带宽)。
第一步:安装并初始化 Git LFS:首先,确保你电脑上已经安装了 Git LFS。如果还没有,可以从 git-lfs.github.com 下载。然后在终端里运行初始化命令(每个用户只需运行一次):
git lfs install
第二步:追踪大文件类型
告诉 Git LFS 要管理哪些文件类型。因为你的仓库里包含 .pdf 和 .docx 文件,建议直接追踪整个类型。
git lfs track "*.pdf"
git lfs track "*.docx"
执行后,仓库里会自动生成或更新一个名为 .gitattributes 的文件。
第三步:添加追踪文件并迁移已有的大文件
这是最关键的一步。根据官方文档提示,“定义 Git LFS 应跟踪的文件类型本身不会将任何预先存在的文件转换为 Git LFS”,所以我们需要用 git lfs migrate 命令来转换历史记录中的大文件。
# 将 .gitattributes 加入版本控制
git add .gitattributes
# 使用 migrate 命令,将仓库中所有历史记录里的 .pdf 和 .docx 文件迁移至 LFS
git lfs migrate import –include="*.pdf,*.docx" –everything
第四步:强制推送更新
由于 migrate 命令重写了 Git 历史,你需要使用强制推送 (-f) 来更新远程仓库。
git push -f origin main
二、移除大文件:如果这些文件只是参考资料,不需要放在 Git 仓库里
# 从 Git 索引中移除文件(但保留本地副本)
git rm –cached "动手学计算机视觉 (沈为,司翀杰,杨辰,俞勇) .pdf"
git rm –cached git.docx
# 添加到 .gitignore,防止以后再次被提交
echo "*.pdf" >> .gitignore
echo "*.docx" >> .gitignore
# 1. 备份 .gitignore 和想要的文件
# 2. 删除 .git 文件夹
rm -rf .git
# 3. 重新初始化
git init
git branch -M main
git add .
git commit -m "Initial commit"
git remote add origin 你的仓库
git push -u origin main -fgit push -u origin main
四、Ubuntu 失去图形化界面
Ctrl + Alt +F3
sudo systemctl restart gdm
五、神经网络
训练的时候,把数据集标注好了丢给模型进行训练,最后给的是映射,根据图片内容来判断是什么类型的装甲板和它的装甲板角点
每个模型的输入和输出README应该会标注好是多少维的,想要对接的话就要写对应的接口代码,并且将模型输出转化的数据形式能够对接代码
如果没有标注就要自己写测试python程序检测一下,它的输入输出分别是多少维度
重点是标注数据集
六、相机标定
(1)OpenCV
OpenCV相机标定完全指南(有手就行)_相机标定有手就行-CSDN博客
(2)同济大学写好的标定
只需自己拍照,修改配置文件,确认是棋盘格还是圆盘
先把所有清晰可用的照片放入项目文件夹后重命名(重命名根据自己实际情况修改)
# 第一步:.png -> .jpg(使用临时扩展名)
for f in *.png; do
if [ -f "$f" ]; then
# 改为临时扩展名 .jpg_temp
mv "$f" "${f%.bmp}.jpg_temp"
fi
done
# 第二步:.jpg_temp -> 数字.jpg
i=1
for f in *.jpg_temp; do
if [ -f "$f" ]; then
mv "$f" "$i.jpg"
echo "已重命名:$f -> $i.jpg"
((i++))
fi
done
# 第三步:处理原始的.jpg文件(如果有)
for f in *.jpg; do
if [ -f "$f" ] && [[ ! "$f" =~ ^[0-9]+\\.jpg$ ]]; then
mv "$f" "$i.jpg"
echo "已重命名原始jpg:$f -> $i.jpg"
((i++))
fi
done
serial/serial.h 186 波特率
count=1
for file in *.jpg; do
mv "$file" "$count.jpg"
((count++))
done
count=1
for file in *.jpg; do
cp "$file" "$count.jpg"
((count++))
done


