2025-05-09 00:00:00
随着相机像素越来越大,图片体积也变大了。在图片处理中,较大的文件体积会影响性能,因此杜老师会先生成缩略图,筛选完成后再通过 Python 脚本实现图片相似度匹配。这里是一个简单的示例,供需要的小伙伴们参考。
以下是个基于 Python 的脚本,使用 PIL
以及 imagehash
库来实现。
遍历目录 A 中所有图片。
在目录 B 中查找相似的图片「通过感知哈希算法判断」
如找到匹配项,则将图片复制到目录 C,并以目录 A 图片的名字命名。
在运行脚本前,需安装所需的 Python 库:
1 |
pip install pillow imagehash |
将 dir_a
, dir_b
和 dir_c
替换为实际路径;threshold
控制图像相似度阈值,可以根据需要调整;支持多种常见格式图片文件;使用 imagehash.phash
进行感知哈希的比较,适合用于识别视觉上接近的图片:
1 |
import os |
2025-05-06 00:00:00
北京这边天气不错,特别适合骑行。杜老师拿出了压箱底的全景相机,打算录制一段沿途景色,结果压制出的文件体积很大。之前分享过通过 FFmpeg 来压缩视频的方法,这次整理了更多的方法,供需要的小伙伴们参考!
如果需要了解 FFmpeg 的安装方法,可以浏览《如何使用 FFmpeg 来压缩视频》一文,里面有详细介绍如何在 Linux 系统安装 FFmpeg。
如果需要在 Windows 系统上安装 FFmpeg,可以直接至官方下载安装包「或在评论区中留言」
原理:CRF 是 H.264 编码器中用于控制视频质量的一个参数,数值越小画质越高,体积越大,一般取值范围为 18-28,默认值 23,18 是视觉无损。
命令示例:ffmpeg -i input.mp4 -c:v libx264 -crf 18 -preset veryslow -c:a copy output.mp4
此命令指定了视频编码器为 libx264
,设置 CRF 的参数为 18
,且使用 veryslow
预设以进一步提高编码质量,音频部分直接复制。
原理:在不改变媒体编码的情况下,改变媒体封装格式,通常转换后的大小基本相同,一般不会出现过大差距,如果大小差距过大,需要检查媒体文件的完整性。
命令示例:ffmpeg -i input.mp4 -codec copy output.mp4
可直接更改封装格式,无需重新编码。
原理:降低视频分辨率可显著减小文件体积,对于对视频画质要求不是特别高,或需要在低分辨率设备上播放的场景比较适用。
命令示例:ffmpeg -i input.mp4 -vf scale=1280:720 -c:a copy output.mp4
该命令会将视频的分辨率调整为 1280×720 像素,音频的部分不进行重新编码,从而实现压缩体积目的。
2025-05-03 00:00:00
刚从合肥返京,就收到了天津出差任务。虽然京津距离不远,但杜老师平时工作较忙,周末一般都在家睡懒觉,所以也是想着趁此机会游玩一下!分享给未来过天津的小伙伴,大家来云旅游~
天津是中国北方的一座历史文化名城,同样是直辖市之一,有着丰富的历史底蕴和独特城市风貌。
天津建筑风格多样,中西合璧,例如五大道保存着众多西式建筑,意大利风情街则充满了浓郁异国情调。
此外,天津还有着众多的名胜古迹,例如盘山、独乐寺等等自然与人文景观,展现了其深厚文化底蕴。
天津的旅游特色主要体现在其独特的文化韵味和美食文化上,是体验津味文化与北方风情绝佳之地。
天津美食文化源远流长,如狗不理包子、煎饼果子等等传统小吃闻名全国,散发着独特的魅力。
此外,天津的相声文化也独具特色,古文化街、泥人张彩塑等更是让人感受到天津的艺术之美。
天津的民国时代的建筑较多,也是别有一番风味:
张学良故居的餐厅:
张学良和赵四小姐卧室:
顶层是个舞厅,本来拍了歌厅整体,结果有个大爷入镜了,所以只有观众席给大家看看:
这叫聚丰当铺,可以清楚的观察到民国时代当铺格局:
这个是鹤竹堂药铺,据说是曾给慈禧光绪看病的御医所开:
皇宫舞厅,为什么杜老师想到依萍:
天津市特别警察局,杜老师也想拍亮堂点的,这里边就是暗光线,可能是想震慑罪犯:
瑞蚨祥成衣店,里边格局也很大气漂亮,就是衣服看着有一点少,毕竟都叫成衣店了,怎么衣服比杜老师的都要少:
成衣店顾客等待位,本来不想放这张的,但是这个窗和格局吸引了杜老师,所以还是放上来了:
这个是鼎章照相馆,杜老师除了会说漂亮外,不会说别的了,原谅杜老师言辞的匮乏:
民国时代诊所,不过感觉杜老师小时候诊所也长这个样子,可能杜老师也挺老的了:
这个是商会俱乐部,有很多张,但里边的光线不是很好,只有这张看起来还是不错的:
国父孙中山办公室,右上角露出来的点点就是他照片,不过相机没有全部收录进去,右侧还有一个很好看的壁炉,哈哈:
头一次看见民国的封条,必须拍照一张,杜老师一直以为封条只要有个封字就可以,没想到要写这么多东西:
这个是春和大戏院,张学良故居进门开始可以玩剧本杀的,好多人在走来走去的找线索,杜老师没有好意思参与进去,不过感觉很好玩的,大家有兴趣的可以参观的同时玩这个游戏。这个戏院里还有相声表演的,不过是固定的时间,杜老师忙着赶下一个参观地,所以并没有听相声,可惜:
最后用民国画报小广告来做结尾,张学良故居以及范竹斋故居之旅就结束啦:
全都是人,大家都在门口想拍出满意的照片,杜老师就只匆匆闪过了,毕竟杜老师没有高超的运镜技术:
这个是最后的晚餐,教堂里也好多的人,想找出一张没人的照片实在是太难了:
感觉这个吊灯和玻璃都漂亮的很,但是杜老师对宗教理解不深,不知道这个里边画面的含义,要是有解说就好了:
这个好像就是主教传教的地方吧,用隔离带围着,杜老师进不去,不过感觉就很神圣:
据说是溥仪和妃子们被从故宫赶出来之后住的地方,感觉就是个小洋楼:
溥仪和妃子们的小餐厅:
这个是溥仪妃子文绣的卧室:
这个是皇后婉容的卧室,感觉他们的床都好小啊,杜老师睡在上边都怕掉下来:
这个是溥仪的书房:
张园里也有剧本杀,每个时间段也有节目表演的,但是杜老师依然没赶上,时间太紧张了,下次一定要试试看:
最后用杜老师们伟大领袖毛主席给这段旅程做结尾,这个展区是爸爸妈妈他们那个年代结婚的布景,感觉爸爸妈妈他们来看肯定很有感触:
2025-04-30 00:00:00
时隔一年,又一次来到了安徽省会——合肥。这次出差的时间很灵活,杜老师有半天时间可以到附近景区逛一逛,就特地带了单反相机拍了些照片。本文整理了几张特色的美照,特邀杜老师的另一半帮忙配的介绍文,感兴趣的小伙伴可进来一看!
合肥是安徽的省会,简称庐州,有着 2500 多年建城史,是国家级历史文化名城,曾是三国时期兵家必争之地,也是包拯、李鸿章等历史名人故乡。
这里历史遗迹众多,例如三河古镇,因丰乐河、小南河三水流贯其间而得名,是合肥唯一 5A 景区,古镇历史悠久,古建众多,青砖灰瓦,小桥流水,宛如一幅淡雅的水墨画。
合肥不仅有深厚的历史文化底蕴,还有丰富的自然景观和现代旅游资源。
包公园是纪念北宋清官包拯而建,园内有包公祠、包公墓等景点,游客可以在此了解包拯的生平事迹和清正廉明精神。
徽园则集中展示了安徽各地的著名风景和徽派建筑,游客可半天时间领略安徽的徽风古韵。
合肥美食也是一大特色,庐州烤鸭、李鸿章大杂烩、合肥三鲜等等美食让人回味无穷。无论是对历史文化感兴趣的游客,还是喜欢自然风光和娱乐体验的游客,合肥都能满足需求。
不需要买票哦,可直接进,不过周一闭馆,去的话要注意:
感觉徽式古建筑石雕木雕都很精致且应用广泛,都有相关典故以及故事。房梁窗户等很多地方都有精致的雕刻:
这个是徽式的古代祠堂模型,看起来很大气,请忽略杜老师不专业的摄影技术:
这个是古人的牌坊,看着真是方方正正,哦对,传说中的贞节牌坊貌似也长这个样子:
这个博物馆里,金子本来不多,这个碗是最好看滴:
爬了很多个塔,其中有很大一部分是不带电梯的。当时走到这里的时候人已经快累屁了,犹豫了很久不想爬上去,结果过来了一队旅游团,导游用喇叭喊:大家不用担心,这个塔有电梯。瞬间冲到塔里坐电梯美极了:
从塔上俯视图一张,景色还是很不错的,哇哈哈哈。下来的时候没有坐电梯,想着看看各层景色,结果有很多不知道有电梯的,杜老师听到大家边爬边骂街,上的时候在骂,下的时候也骂:
这是包公祠的井叫廉泉,根据传说,这个井可检测贪官,有个贪官喝了这个井水开始头痛,经查,他确实是贪官,所以有了这个名字:
打车去李府的时候司机告诉杜老师这里很出名,那必须要打卡,不过实在是太大了,且日头晒得很:
位于古逍遥津,emmmm 杜老师没有拍墓碑和坟茔,大家看看牌坊好了:
李府李鸿章的人物雕塑,本来是想拍大门口的牌匾的,但是人实在太多了。这个不需要买门票,但是需要网络预约免费门票,合肥这一点比较好,好多景点是免费的,对学生党也很友好:
让我们看下晚清时代的家具:
清朝各级官员胸前绣的动物,具体哪个代表哪个,还请百度,不过当时古人绣工是真的好,超好看的:
这个美术馆给杜老师最大的印象就是里边超级凉快,超级超级,凉快发冷:
欣赏艺术画作:
继续欣赏艺术画作,杜老师真是一点艺术细菌都没有,完全看不出这画的含义:
这个旋转楼梯拍照应该会很出片,但是杜老师的摄影技术也就只能到这里了,凑合着看看吧:
同样不需要预约而且不需要门票,直接进就可以,不逛这个杜老师都不知道这么多的名人竟然都是安徽人:
这个楼层有个展区是做了仿古街区的各类商店,特别有那个氛围感,就是人太多了,想拍下整个街景总有人入镜,挑了很久也就剩了这么一张:
仿客栈以及瓷器店,很有古风韵味:
一层是一个蜡像馆,有很多的出名人物都在这里,看到这个大象大家应该就知道是哪个了吧,这就是传说中曹冲称象:
这个就是包公断案现场蜡像,杜老师深深觉得喜欢看蜡像馆的,可来这里,比蜡像馆省钱,氛围还好:
三河古镇俯拍,这个是杜老师爬上没有电梯的塔才拍到的,这个塔不光没电梯!它的楼梯还特别窄,只可以放下半只脚,杜老师一路外八着上下,就像个大螃蟹:
古镇胡同,很难得有张没有行人的照片,热闹和静谧共存的徽式小镇:
徽式游廊,好多游人在另一边休息,微风吹拂:
除了这个马囧囧的样子让杜老师觉得比较好玩,这个马车厢小的出乎杜老师意料,杜老师小时候看电视剧他们出行乘坐马车还以为里边很大的,这个车厢杜老师感觉对胖子很不友好,进去就塞满了。原来古人的马车这么小的吗:
酿酒步骤,杜老师震惊的是他们真的有自己酿的酒摆在大缸里,但是看着黑漆漆的,用玻璃封住了,闻不到是什么味道,不知道还需不需要过滤:
回程坐了游艇,细细看了河两边的建筑,感觉是超级好,感觉每个时代的建筑都有它独特魅力:
2025-04-27 00:00:00
当今数字化浪潮中,人工智能正以前所未有的速度改变着我们的工作和生活方式。字节跳动于 2025 年 4 月 19 日推出的通用型 AI Agent 平台,无疑是这一变革中一颗璀璨新星,为我们带来了全新的 AI 协作办公体验。
扣子空间是个致力于打造和 AI 协作工作全新工作方式的平台。
它基于字节跳动自研的豆包等国产大模型,用户只需将任务交给智能体,系统就能自动完成需求分析、任务拆解、工具调用、结果生成,支持从网页到文档等多种类输出形式,极大提升工作效率与执行力。
扣子空间提供了探索模式和规划模式。
探索模式下 AI 自主动态探索,完成速度更快,适用于时效性强的任务,例如查询最新资讯、获取实时数据等等;规划模式中 AI 深度思考,会先给出任务处理规划,经过用户确认后再行动,执行期间也需用户参与,适合高复杂性任务,如跨行业市场调研、复杂项目规划等等。这种双模式的协作机制,让用户可根据任务属性灵活选择,能更好地与 AI 协作完成工作。
扣子空间能够智能解析用户的一句话需求,精准识别意图并将其分解为多个具体任务。系统会自主调用浏览器、代码编辑器等工具执行任务,同时将每个思考和执行步骤清晰呈现,适时的与用户确认意图,确保执行方向准确。
最终输出完整结果报告,如 PPT、网页、飞书文档等等,真正实现了从需求输入到成果输出的全流程自动化。
平台内置多种领域的专业 Agent,例如华泰 A 股观察助手可生成每日股市早报并解答股票分析问题,用户研究专家可以协助进行用户研究资料深度分析。
这些专家级的 Agent 针对特定领域更专业,能处理更复杂任务,为不同领域的用户提供了便捷的专业服务。
扣子空间首批集成飞书多维表格、高德地图、图像工具、语音合成等 60 多款 MCP 模块化能力插件,未来还将支持开发者通过扣子开发平台发布自定义插件。
这些插件涵盖资讯阅读、旅游出行、效率办公等等众多方面,使扣子空间能够满足用户在不同场景下的各种需求,真正实现了功能的无限扩展。
扣子空间应用场景十分丰富,涵盖办公、学习、生活、电商、金融等等多个领域。
在办公场景中,可以帮助用户完成撰写文档、数据分析、制作 PPT 等各种工作任务;在学习场景下,能为学生和教育工作者提供课程资料收集、课件制作等辅助教学和学习服务;在生活场景里,可以用于制定旅游计划、查询信息等等;在电商场景中,能够进行商品推荐、用户行为分析;在金融场景下,可为股票分析、金融数据解读等等提供决策支持。
扣子空间界面非常简洁,登录后可通过左侧菜单进行任务管理,输入任务描述即可快速创建任务,开始任务后会在右侧显示 Agent 执行过程:
扣子目前机制每次能生成五个邀请码,杜老师会定期更新邀请码的使用状态,也请小伙伴使用后留言邀请码的编号,用尽后会发放新邀请码:
2025-04-24 00:00:00
KVM 是一种开源全虚拟化解决方案,能够在 Linux 系统运行多个操作系统。本文将详细介绍如何在银河麒麟桌面操作系统 ARM 版安装 KVM 虚拟化环境,帮助用户搭建高效的虚拟化平台。
确保 ARM 架构设备支持虚拟化技术。通常,支持虚拟化的 ARM 处理器会支持硬件辅助虚拟化功能。
系统至少需要 4GB 内存和 20GB 的硬盘空间。
银河麒麟桌面操作系统 ARM 版「如 V10」
KVM 虚拟化相关的软件包。
1 |
sudo apt update |
注意:在银河麒麟桌面操作系统 ARM 版上,可以通过上面命令安装 KVM 和相关工具。
上面软件包的作用如下:
包名 | 作用 |
---|---|
qemu-kvm | 提供 KVM 虚拟化核心功能 |
libvirt-daemon-system | 用于管理虚拟机的后端服务 |
libvirt-clients | 提供客户端工具管理虚拟机 |
bridge-utils | 用于配置网络桥接 |
virt-manager | 提供图形化界面管理虚拟机 |
libvirt
组内1 |
sudo usermod -aG libvirt $(whoami) |
注意:为方便管理虚拟机,需要将当前用户添加到 libvirt
组,然后注销重新登录,使组成员关系生效。
1 |
virsh --version |
注意:运行上面命令来检查 KVM 是否正常工作,如果返回版本信息,说明 KVM 安装成功了。
可以从银河麒麟官方网站下载适合 ARM 架构的虚拟机镜像文件。
如 Kylin-Desktop-V10-SP1-2403-Release-20240430-arm64.iso
文件。
1 |
qemu-img create -f qcow2 /path/to/disk.img 50G |
注意:使用上面命令创建虚拟磁盘。其中/path/to/disk.img
是虚拟磁盘路径,50G
表示磁盘的大小。
1 |
qemu-system-aarch64 -m 2048 -cpu cortex-a76 -smp 4 -M virt -bios /path/to/QEMU_EFI.fd -device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd -drive if=none,file=/path/to/disk.img,id=hd0 -device virtio-blk-device,drive=hd0 -drive if=none,file=/path/to/Kylin-Desktop-V10-SP1-2403-Release-20240430-arm64.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom |
注意:使用上面命令启动 KVM 虚拟机安装。其中-m 2048
分配 2048MB 内存;-cpu cortex-a76
指定 CPU 类型;-smp 4
是指定虚拟 CPU 核心数。
按照虚拟机安装界面的提示完成安装过程。
安装完成后 KVM 虚拟机将自动重启。
virsh
命令行工具列出所有 KVM 虚拟机:
1 |
virsh list --all |
启动 KVM 虚拟机:
1 |
virsh start <KVM 虚拟机名称> |
关闭 KVM 虚拟机:
1 |
virsh shutdown <KVM 虚拟机名称> |
强制停止 KVM 虚拟机:
1 |
virsh destroy <KVM 虚拟机名称> |
挂起 KVM 虚拟机:
1 |
virsh suspend <KVM 虚拟机名称> |
恢复挂起 KVM 虚拟机:
1 |
virsh resume <KVM 虚拟机名称> |
virt-manager
图形化界面virt-manager
提供了一个直观的图形化界面,方便用户管理 KVM 虚拟机。
启动 virt-manager
后,可以连接到本地或者远程的 KVM 服务器,创建、启动、停止 KVM 虚拟机。