說明
1. 摘自綜述 《Image Processing and Computer Vision in iOS》, Oge Marques, Springer, 2020
2. 注意出版時間是2020年蜓斧,后面的進展請補充
3. 對初學,想了解拿穴,學習路徑男图,現(xiàn)有的工具庫
4. CSDN上2018年的文章?iOS圖形處理概論:OpenGL ES,Metal汉柒,Core Graphics仔掸,Core Image憔儿,GPUImage赠堵,OpenCV等?可做參照
名詞?Image Processing, Image Analysis, Computer Vision, and IPCV
1. Image processing 圖像處理
2. Image analysis 圖像分析
3. Computer vision 計算機視覺
上面3者邊界模糊小渊,統(tǒng)一叫做:IPCV ?image processing and computer vision,更大的叫法是:intelligent processing of visual information茫叭。一個 IPCV 的 pipeline (or workflow) 往往包含了許多步驟酬屉,每步可以是上面3者之一。
學習路徑
These are the suggested steps to learn the basic steps that should lead you to become a successful developer of IPCV iOS apps.
1. Get a Mac computer. You will need a Mac to run Xcode.
2. Download and install Xcode.
3. Sign up with Apple to become a registered iOS developer.
4. Learn the basics of iOS programming using Swift.
5. Get an iPhone and/or iPad to test your apps.
6. Learn about useful Apple frameworks, libraries, and APIs for IPCV tasks, particularly Core Image, Core ML, and the Vision Framework.
7. Read as much as you can (books, blogs, Apple documentation, tutorials, etc.).
8. Practice, practice, practice.
語言的選擇 Swift and Objective-C
Most of the code for iOS today is written in Swift. However, for legacy apps or IPCV apps that need to interface with OpenCV (see Chap.?6), knowledge of Objective-C and/or C++ is crucial.
用戶界面庫的選擇 UIKit and SwiftUI
If you’re new to iOS development, experts recommend that you learn?UIKit first and then transition to?SwiftUI.
Useful Frameworks, APIs, and Libraries
* 說明之后再補
1. ARKit — Apple Developer Documentation.?
2. AVFoundation — Apple Developer Documentation.?
3. AVKit — Apple Developer Documentation.?
4. Core Graphics — Apple Developer Documentation.?
? based on 5. Quartz 2D: Introduction?—?Apple Developer Documentation.
6. Core Image — Apple Developer Documentation.?
7. Core Media — Apple Developer Documentation.?
8. Core ML?— Apple Developer Documentation.?
9. Core Video — Apple Developer Documentation.?
10. Create ML?— Apple Developer Documentation.?
11. Image I/O — Apple Developer Documentation.?
12. ImageCaptureCore — Apple Developer Documentation.?
13. Metal — Apple Developer Documentation.?
14. Metal Performance Shaders?
? ? ?. Image Filters —Apple Developer Documentation.
? ? ?. Training a Neural Network with Metal Performance Shaders —?Apple Developer Documentation.?
15. ML Compute — Apple Developer Documentation.?
16. OpenGL ES — Apple Developer Documentation.?
17. PhotoKit — Apple Developer Documentation.?
18. VideoToolbox — Apple Developer Documentation.?
19. Apple Vision Framework?—Apple Developer Documentation.
20. VisionKit — Apple Developer Documentation.?
iOS 編程學習資源
1. Apple Developer Program —?Apple Developer.?
2. Stanford University's CS193p -?Developing Apps for iOS.
3. Xcode — Apple Developer Documentation.?
4. Swift — Resources —?Apple Developer Documentation.
5. The Swift Programming Language (Swift 5.3 beta) on?Apple Books.
6.?Ray Wanderlich’s site is a rich source for high-quality books, tutorials, courses, and videos on iOS and mobile app development.
參考書
1. Fahim Farook.?UIKit Apprentice. Ray Wanderlich's site.
2. C. Eidhof.?App architecture. objc, Berlin, Germany, 2018.
3. A. Kaehler and G. Bradski.?Learning OpenCV 3: Computer Vision in C++ with the OpenCV Library. O’Reilly Media, Inc., 2017.
4. A. Krizhevsky, I. Sutskever, and G. E. Hinton. Imagenet classifification with deep convolutional neural networks. In?Advances in neural information processing systems, pages 1097–1105, 2012.
5. O. Marques.?Practical Image and Video Processing Using MATLAB. Wiley - IEEE. Wiley, 2011.
云計算服務
1. Amazon Web Services (AWS) —?Cloud Computing Services. .
2. Cloud AutoML—?Google Cloud.
3. Cognitive Services: APIs for AI Developers —?Microsoft Azure.
其他平臺上的工具庫
MATLAB —?MathWorks.
for C++ and Python:
? ? OpenCV?
for Java:
? ? 1. ImageJ.?
? ? 2. Fiji: ImageJ, with “Batteries Included”.?
objc.io的兩期雜志
Two special issues of the?objc.io?electronic magazine remain relevant for getting a deeper understanding of the development process behind mobile visual computing apps in iOS:
? Issue 21: Camera and Photos [objc.io], which covers a wide range of topics, from image acquisition using the iPhone camera to selected frameworks, extensions, and GPU-accelerated apps.
? Issue 23: Video [objc.io], which extends the discussion to video capturing, fifiltering, and hardware acceleration.
其他
Augmented Reality —?Apple.?