找了半天的图片转文字(OCR),要么是收费昂贵、要么是安装复杂、要么是识别效果差、要么是中文不友好……

咋的,是家里手上花几万块钱买的 MacBook Pro M2 32G 它不香吗?🤔

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//
//  main.swift
//  ocr
//
//  Created by Yang Tao on 2024/5/31.
//
import Foundation
import Vision

func recognizeText(_ path :String, completion: @escaping ([String]) -> Void) async {
	let handler = VNImageRequestHandler(url: URL(fileURLWithPath: path, isDirectory: false))
	let request = VNRecognizeTextRequest { request, error in
		let result = request.results as! [VNRecognizedTextObservation]
		let results = result.compactMap { $0.topCandidates(1).first?.string }
		DispatchQueue.global().async { completion(results) }
	}

	request.recognitionLevel = .accurate
	request.recognitionLanguages = ["zh-CN"]
	
	do {
		try handler.perform([request])
	} catch {
		fatalError(error.localizedDescription)
	}
}

let path = CommandLine.arguments[1]
await recognizeText(path) { $0.forEach { print($0) } }

就这加上空行、注释才 29 行 Swift 代码,要什么自行车🚴?

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
ocr (master) → swiftc main.swift 
ocr (master) → ls
main       main.swift
ocr (master) → ./main ~/Downloads/IMG_9598.jpg 
照片墙
14 关注
杨晚晚
C
) VIP 伍
2229粉丝
网易音乐人、歌手
IP 属地 湖北
互相关注
聊天
ocr (master) → ./main ~/Downloads/IMG_9601.JPG 
18
+ 添加状态
)VIP•伍
“我在江南君在北,一片痴情空与对。”
010枚徽章|广东 深圳•o 90后 摩羯座•村龄7年
32关注
2粉丝
Lv.8等级
1953时听歌
L 最近
v本地
^ 云盘
已购

不好意思,这里也是 29 行,就是这么巧!

图片来自上一篇碎碎念

2024-6-3 10:03:25

开个坑:

  • 博客支持自动识别图片文字内容并保存、可供文本搜索图片🔍。

    可选方案:服务在后台扫描有更新的文章,通过 grpc stream 的方式让提供方(本地客户端)提供技术支持。

桃子的碎碎念 桃子 编辑