iOS使用OpenCV之图像融合(二)

简介: iOS使用OpenCV之图像融合(二)

前言


本文将介绍使用OpenCV之图像融合


理论


线性混合操作

g(x)=(1−α)f0(x) + αf1(x)

其中α取值范围0~1之间,f0(x)表示一张图像x位置像素点的颜色数据,f1(x)表示另一张图像x位置像素点的颜色数据


核心思路


1、判断两张图片大小是否一致

2、UIImage转换

3、判断类型是否一致

4、图片叠加处理addWeighted(src, alpha, src2, 1.0-alpha, 0.0, dst)

5、转换为UIImage


代码演示


/* 图片混合,前提条件两张图片必须大小和类型均一致 */
- (UIImage*)kj_opencvBlendImage:(UIImage*)image alpha:(double)alpha{
    if (!CGSizeEqualToSize(self.size, image.size)) {
        image = [image kj_BitmapChangeImageSize:self.size];
    }
    cv::Mat src,src2,dst;
    UIImageToMat(self,src,true);
    UIImageToMat(image,src2,true);
    if (src.type() != src2.type()) {
        return self;
    }
    addWeighted(src, alpha, src2, 1.0-alpha, 0.0, dst);
    return kMatToUIImage(dst);
}


示例图

1.png


系列文章关联


1、如何在 iOS 工程中使用 OpenCV

2、iOS使用OpenCV之调整图片亮度和对比度(一)

3、iOS使用OpenCV之图像融合(二)

4、iOS使用OpenCV之滤波处理(三)


接下来我会慢慢补充Opencv的相关文章,暂时已将常见的图片处理和图片算法封装出来,有需要的朋友可以去pod 'OpencvQueen'


如何在 iOS 工程中使用 OpenCV介绍就到此完毕,后面有相关再补充,写文章不容易,还请点个**小星星**传送门

相关文章
|
3月前
|
文字识别 计算机视觉 开发者
基于QT的OCR和opencv融合框架FastOCRLearn实战
本文介绍了在Qt环境下结合OpenCV库构建OCR识别系统的实战方法,通过FastOCRLearn项目,读者可以学习Tesseract OCR的编译配置和在Windows平台下的实践步骤,文章提供了技术资源链接,帮助开发者理解并实现OCR技术。
161 9
基于QT的OCR和opencv融合框架FastOCRLearn实战
|
2月前
|
计算机视觉
Opencv学习笔记(三):图像二值化函数cv2.threshold函数详解
这篇文章详细介绍了OpenCV库中的图像二值化函数`cv2.threshold`,包括二值化的概念、常见的阈值类型、函数的参数说明以及通过代码实例展示了如何应用该函数进行图像二值化处理,并展示了运行结果。
477 0
Opencv学习笔记(三):图像二值化函数cv2.threshold函数详解
|
3月前
|
算法 计算机视觉
opencv图像形态学
图像形态学是一种基于数学形态学的图像处理技术,它主要用于分析和修改图像的形状和结构。
52 4
|
5月前
|
开发工具 Android开发 iOS开发
安卓与iOS开发:平台间的技术较量与融合
在移动应用开发的广阔天地中,安卓和iOS这两大操作系统如同两座巍峨的山峰,各自占据着半壁江山。它们在技术架构、开发工具、用户体验等方面展现出独特的魅力与差异,同时也在相互借鉴与融合中共同推动着移动技术的发展。本文将深入探讨安卓与iOS开发中的技术差异与融合趋势,为开发者提供一场思想的盛宴。
|
3月前
|
存储 计算机视觉
Opencv的基本操作(一)图像的读取显示存储及几何图形的绘制
本文介绍了使用OpenCV进行图像读取、显示和存储的基本操作,以及如何绘制直线、圆形、矩形和文本等几何图形的方法。
Opencv的基本操作(一)图像的读取显示存储及几何图形的绘制
|
4月前
|
算法 计算机视觉 Python
python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)
该文章详细介绍了使用Python和OpenCV进行相机标定以获取畸变参数,并提供了修正图像畸变的全部代码,包括生成棋盘图、拍摄标定图像、标定过程和畸变矫正等步骤。
python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)
|
5月前
|
API 数据处理 开发工具
探索iOS开发的未来:SwiftUI和Combine的融合
【7月更文挑战第23天】随着Apple不断推动其软件开发工具的创新,SwiftUI和Combine框架的出现标志着iOS开发进入了一个新的时代。本文将深入探讨这两个框架如何简化界面设计和事件处理,以及它们如何共同为开发者提供一个更加高效、声明式的编程模型。我们将通过实际示例来展示如何利用SwiftUI构建用户界面,并使用Combine处理异步事件和状态管理。文章还将预测这些技术如何塑造iOS应用开发的未来趋势。
WK
|
4月前
|
编解码 计算机视觉 Python
如何在OpenCV中进行图像转换
在OpenCV中,图像转换涉及颜色空间变换、大小调整及类型转换等操作。常用函数如`cvtColor`可实现BGR到RGB、灰度图或HSV的转换;`resize`则用于调整图像分辨率。此外,通过`astype`或`convertScaleAbs`可改变图像数据类型。对于复杂的几何变换,如仿射或透视变换,则可利用`warpAffine`和`warpPerspective`函数实现。这些技术为图像处理提供了强大的工具。
WK
120 1
|
5月前
|
移动开发 前端开发 iOS开发
探索iOS开发的未来:SwiftUI与Combine的融合
随着苹果公司不断推进其操作系统的更新,iOS开发领域也迎来了诸多变革。在这篇文章中,我们将深入探讨SwiftUI和Combine这两个强大的框架,它们如何共同塑造着iOS应用开发的未来趋势。通过具体实例和数据支持,本文旨在揭示这些技术如何简化开发者的工作流,提升用户界面构建的效率,以及加强应用的响应性和性能表现。我们还将提出一个开放性问题,邀请读者思考并探索这些技术在未来可能带来的进一步影响。 【7月更文挑战第26天】
54 2
|
5月前
|
前端开发 Swift iOS开发
探索iOS开发的未来:SwiftUI和Combine的融合
在iOS开发领域,SwiftUI和Combine框架的出现标志着一个新时代的到来。本文深入探讨这两个框架如何共同推动iOS应用开发的现代化,通过具体案例分析它们的优势、挑战以及未来趋势。