最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Swift 使用OpenCV2进行图片拼接(将多张照片合并成全景图)
时间:2015-11-10 编辑:简简单单 来源:一聚教程网
其应用领域有: 1、人机互动 2、物体识别 3、图像分割 4、人脸识别 5、动作识别 6、运动跟踪 7、机器人 8、运动分析 9、机器视觉 10、结构分析 11、汽车安全驾驶
下面通过一个样例演示如何使用OpenCV将多张照片拼接成一个全景图。注意:照片与照片间要有重合的部分,这样就能通过OpenCV进行分析识别,从而实现自动拼接。
(1)首先下载最新的OpenCV框架:opencv2.framework.zip。并将其添加到项目中来。
由于我们需要使用OpenCV,但Swift又不能直接调用C++。所以便需要使用Objective-C来做为中间层,让Swift通过Objective-C来调用OpenCV。
#import "CVWrapper.h"
(4)下面使用就很简单了,把UIImage交给CVWrapper就可以了
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var imageView: UIImageView!
@IBOutlet weak var spinner: UIActivityIndicatorView!
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
stitch()
}
func stitch() {
//由于图片拼接很费时,显示环形进度条
self.spinner.startAnimating()
//在后台队列拼接图片
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) {
let image1 = UIImage(named:"IMG_4247.jpg")
let image2 = UIImage(named:"IMG_4248.jpg")
let image3 = UIImage(named:"IMG_4249.jpg")
let image4 = UIImage(named:"IMG_4250.jpg")
let imageArray:[UIImage!] = [image1,image2,image3,image4]
let stitchedImage:UIImage = CVWrapper.processWithArray(imageArray) as UIImage
self.imageView.image = stitchedImage
//停止环形进度条效果
self.spinner.stopAnimating()
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
相关文章
- sora软件价格介绍 02-22
- sora官网入口地址一览 02-22
- Sora生成的视频使用教程 02-22
- 《梦幻西游》元宵灯谜线索答案大全2024 02-22
- 《原神》有朋自远方来第一天通关攻略 02-22
- 《苏醒之路》四个结局达成攻略 02-22