CN110969675A - 一种模拟相机不同形状光圈虚化的方法 - Google Patents
一种模拟相机不同形状光圈虚化的方法 Download PDFInfo
- Publication number
- CN110969675A CN110969675A CN201911204391.8A CN201911204391A CN110969675A CN 110969675 A CN110969675 A CN 110969675A CN 201911204391 A CN201911204391 A CN 201911204391A CN 110969675 A CN110969675 A CN 110969675A
- Authority
- CN
- China
- Prior art keywords
- point
- coordinate system
- original
- shape
- original image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
Abstract
本发明公开一种模拟相机不同光圈虚化的方法,定义一个形状图片并获取一张原图,将原图和形状图片作为变量传入Shader中;将上述带有形状信息的形状图片的所有像素作为模糊矩阵逐像素对上述原图进行模糊计算,并计算原图当前像素位置的亮度值,通过亮度值提高或降低在单个像素模糊计算当中像素的颜色的权重,以此在原图上凸现形状图片中的形状,模拟了相机不同形状光圈的虚化效果。本发明处理迅速,可操作性强,能够在没有相关摄影器材也没有掌握相关摄影知识的情形下一键生成不同形状光圈虚化效果的图片。
Description
技术领域
本发明涉及嵌入式设备或移动设备图像处理技术领域,尤其涉及一种模拟相机不同形状光圈虚化的方法。
背景技术
背景虚化就是使景深变浅,使焦点聚集在主题上。
光圈影响虚化效果,光圈越大,孔径越大,那么背景虚化能力越强。常规情形下,光斑虚化的形状往往就是你光圈的形状。
但如https://www.diyphotography.net/diy_create_your_own_bokeh/中文章所提到的,如果我们将光圈开到最大,我们可以在镜头前面加一张卡纸,卡纸中间刻出我们想要的形状——要保证比最大光圈时的孔径小。卡纸中的洞就成为了真正的光圈,虚化出的光斑就是卡纸中间洞的形状了。
现有的方法是在镜头前设置一个不同形状的光圈,依次获得不同形状光圈虚化的效果,但现有器材设备昂贵且本身需要一定的摄影知识基础才能达到所要效果。
发明内容
本发明旨在提供一种在终端使用的、可以方便、快捷地模拟相机生成具有不同形状光圈虚化效果图片的方法。
为达到上述目的,本发明是采用以下技术方案实现的:
一种模拟相机不同形状光圈虚化的方法,包括以下步骤:
步骤1:定义一个形状图片;
步骤2:获取一张原图并将该原图和形状图片作为变量传入Shader中;
步骤3:获取当前的原图坐标系内点P1,以点P1为中心点建立与形状图片大小相同的正方形区域,并将正方形区域映射至原图坐标系内,获取原图坐标系内点P2;
步骤4:以点P2为起点,循环遍历步骤3中建立区域内的所有原图坐标系的坐标,获得区域坐标系内的任意点P3及其对应原图坐标系内的点P4;
步骤5:分别获取点P3和点P4的对应图片位置的像素值color3和color4,将color3的R通道与color4的亮度值的乘积作为程度值,并将程度值与color4的RGB三通道相乘得到区域内单个点的最终颜色值color5;
步骤6:循环遍历区域内所有的点重复步骤4中的算法,将所有获得的color5相加再除以循环的次数,得到区域内的颜色均值color6;
步骤7:将color6作为步骤3中原图坐标系内点P1的颜色值;
步骤8:将原图坐标系内的所有坐标点依次当作点P1来执行步骤3~步骤7,最后得到输出结果图。
优选的,所述形状图片大小为m*m。
进一步的,基于原图的原图坐标系原点为(0,0),基于形状图片的区域坐标系原点为(0,0),(x,y)最大值为(m,m)。
优选的,在Shader中,所述形状图片的所有像素作为模糊矩阵逐像素对原图进行计算,并计算原图当前像素位置像素的亮度值。
进一步的,原图坐标系内点P1坐标为(P1.x,P1.y),点P2坐标为(P2.x,P2.y)。
进一步的,点P2与点P1间的关系由下列公式表示:
P2.x=P1.x-(m-1)/2;
P2.y=P1.y+(m-1)/2。
进一步的,点P4与点P3的关系由下列公式表示:
P4.x=P2.x+P3.x;
P4.y=P2.y+P3.y。
优选的,在步骤5中,所述亮度值由像素亮度公式获得,像素亮度公式为:
L=R*0.299+G*0.587+B*0.114,其中L代表亮度值。
进一步的,所述Shader在OpenGL中创建并实现。
本发明通过定义一个带有形状信息的图片,将该图片的所有像素作为模糊矩阵逐像素对要原图进行模糊计算,并计算原图当前像素位置的亮度值,通过亮度值提高或降低在单个像素模糊计算中当前像素的颜色的权重,以此来凸现形状,这样的模拟使得可以在不使用实体光圈的情况下实现自定义的不同形状光圈的虚化效果,既不需要相关摄影器材也无需掌握相关摄影知识,一键生成不同形状光圈虚化效果的图片。
附图说明
图1为具体实施例中的心形形状图片;
图2为具体实施例中的原图l;
图3为具体实施例中获得的输出结果图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本发明进行进一步详细说明。
一种模拟相机不同形状光圈虚化的方法,包括以下步骤:
步骤1:定义一个形状图片,所述形状图片大小为m*m。
步骤2:获取一张原图并将该原图和形状图片作为变量传入Shader中。
步骤3:获取当前的原图坐标系内点P1,以点P1为中心点建立与形状图片大小相同的正方形区域,并将正方形区域映射至原图坐标系内,获取原图坐标系内点P2,其中基于形状图片的区域坐标系原点为(0,0),(x,y)最大值为(m,m),基于原图的原图坐标系原点为(0,0),点P2与点P1间的关系由下列公式表示:
P2.x=P1.x-(m-1)/2;
P2.y=P1.y+(m-1)/2。
步骤4:以点P2为起点,循环遍历步骤3中建立区域内的所有原图坐标系的坐标,获得区域坐标系内的任意点P3及其对应原图坐标系内的点P4,点P4与点P3的关系由下列公式表示:
P4.x=P2.x+P3.x;
P4.y=P2.y+P3.y。
步骤5:已知亮度值由像素亮度公式获得,像素亮度公式为:
L=R*0.299+G*0.587+B*0.114,其中L代表亮度值。
分别获取点P3和点P4的对应图片位置的像素值color3和color4,将color3的R通道与color4的亮度值的乘积作为程度值,并将程度值与color4的RGB三通道相乘得到区域内单个点的最终颜色值color5,即在Shader中,所述形状图片的所有像素作为模糊矩阵逐像素对原图进行计算,并计算原图当前像素位置像素的亮度值,也就是:
color5.RGB=color3.R*(0.299*color4.R+0.587*color4.G+0.114*color4.B)*color4.RGB
需注意的是,所述Shader在OpenGL中创建并实现。
步骤6:循环遍历区域内所有的点重复步骤4中的算法,将所有获得的color5相加再除以循环的次数,得到区域内的颜色均值color6,即:
步骤7:将color6作为步骤3中原图坐标系内点P1的颜色值。
步骤8:将原图坐标系内的所有坐标点依次当作点P1来执行步骤3~步骤7,最后得到输出结果图。
下面通过一个具体实施例来阐述本发明:
步骤1:选取一个形状图片,如图1,以心形形状图片为例。
首先需要明确的是,单个颜色值的定义,包含R、G、B及A四个通道,值域为均0~1,A为透明度本例中没有涉及,故默认为1;单个像素位置的定义(UV坐标),包含xy两个通道,即为直角坐标系中的横纵坐标值;在Shader中逐像素对原图的计算是指在Shader中会以1像素为间隔,形成坐标点,并执行相应的自定义的计算方法,坐标范围为整个原图的大小。
选取的心形形状图片的大小为65*65,其形状区域的颜色值为白色即(1,1,1,1),非形状区域颜色值为黑色即(0,0,0,1);心形形状图片的大小会影响到整个过程的处理速度和输出结果图中的心形形状大小。
步骤2:获取一张原图并将该原图和上述心形形状图片作为变量传入Shader中,原图如图2所示,其大小为720*1280。
步骤3:已知心形形状图片大小为65*65,原图大小为720*1280,获取当前的原图坐标系内点P1,以点P1为中心点建立与形状图片大小相同的正方形区域,并将正方形区域映射至原图坐标系内,获取原图坐标系内点P2,其中基于形状图片的区域坐标系原点为(0,0),(x,y)最大值为(65,65);而基于原图的原图坐标系原点为(0,0),(x,y)最大值为(720,1280)。为方便理解,正方形区域可以表示为:在原图坐标系内,以点P2为左上角的高宽为65*65的矩形。其中点P2的计算方式为:
P2.x=P1.x-(65-1)/2;
P2.y=P1.y+(65-1)/2。
步骤4:以点P2为起点,循环遍历步骤3中建立区域内的所有原图坐标系的坐标,获得区域坐标系内的任意点P3及其对应原图坐标系内的点P4,点P4与点P3的关系由下列公式表示:
P4.x=P2.x+P3.x;
P4.y=P2.y+P3.y。
步骤5:在步骤4中已经获得了两个坐标系内的两个点,即原图的点P4和形状区域的P3。分别获取点P3和点P4的对应图片位置的像素值color3和color4,将color3的R通道与color4的亮度值的乘积作为程度值,并将程度值与color4的RGB三通道相乘得到区域内单个点的最终颜色值color5,即在Shader中,所述形状图片的所有像素作为模糊矩阵逐像素对原图进行计算,并计算原图当前像素位置像素的亮度值,也就是:
color5.RGB=color3.R*(0.299*color4.R+0.587*color4.G+0.114*color4.B)*color4.RGB
步骤6:步骤5中计算了区域内单个点的最终颜色值color5,循环遍历区域内所有的点重复步骤4中的算法,将所有获得的color5相加再除以循环的次数,得到区域内的颜色均值color6,即:
步骤7:将color6作为步骤3中原图坐标系内点P1的颜色值。
步骤8:将原图(720*1280)坐标系内的所有坐标点即(0,0)~(719,1279)依次当作点P1来执行步骤3~步骤7,最后得到如图3所示的输出结果图。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (9)
1.一种模拟相机不同形状光圈虚化的方法,其特征在于,包括以下步骤:
步骤1:定义一个形状图片;
步骤2:获取一张原图并将该原图和形状图片作为变量传入Shader中;
步骤3:获取当前的原图坐标系内点P1,以点P1为中心点建立与形状图片大小相同的正方形区域,并将正方形区域映射至原图坐标系内,获取原图坐标系内点P2;
步骤4:以点P2为起点,循环遍历步骤3中建立区域内的所有原图坐标系的坐标,获得区域坐标系内的任意点P3及其对应原图坐标系内的点P4;
步骤5:分别获取点P3和点P4的对应图片位置的像素值color3和color4,将color3的R通道与color4的亮度值的乘积作为程度值,并将程度值与color4的RGB三通道相乘得到区域内单个点的最终颜色值color5;
步骤6:循环遍历区域内所有的点重复步骤4中的算法,将所有获得的color5相加再除以循环的次数,得到区域内的颜色均值color6;
步骤7:将color6作为步骤3中原图坐标系内点P1的颜色值;
步骤8:将原图坐标系内的所有坐标点依次当作点P1来执行步骤3~步骤7,最后得到输出结果图。
2.根据权利要求1所述的一种模拟相机不同形状光圈虚化的方法,其特征在于:所述形状图片大小为m*m。
3.根据权利要求2所述的一种模拟相机不同形状光圈虚化的方法,其特征在于:基于原图的原图坐标系原点为(0,0),基于形状图片的区域坐标系原点为(0,0),(x,y)最大值为(m,m)。
4.根据权利要求1所述的一种模拟相机不同形状光圈虚化的方法,其特征在于:在Shader中,所述形状图片的所有像素作为模糊矩阵逐像素对原图进行计算,并计算原图当前像素位置像素的亮度值。
5.根据权利要求3所述的一种模拟相机不同形状光圈虚化的方法,其特征在于:原图坐标系内点P1坐标为(P1.x,P1.y),点P2坐标为(P2.x,P2.y)。
6.根据权利要求5所述的一种模拟相机不同形状光圈虚化的方法,其特征在于:点P2与点P1间的关系由下列公式表示:
P2.x=P1.x-(m-1)/2;
P2.y=P1.y+(m-1)/2。
7.根据权利要求6所述的一种模拟相机不同形状光圈虚化的方法,其特征在于:点P4与点P3的关系由下列公式表示:
P4.x=P2.x+P3.x;
P4.y=P2.y+P3.y。
8.根据权利要求1所述的一种模拟相机不同形状光圈虚化的方法,其特征在于:在步骤5中,所述亮度值由像素亮度公式获得,像素亮度公式为:
L=R*0.299+G*0.587+B*0.114,其中L代表亮度值。
9.根据权利要求4所述的一种模拟相机不同形状光圈虚化的方法,其特征在于:所述Shader在OpenGL中创建并实现。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911193257 | 2019-11-28 | ||
CN2019111932572 | 2019-11-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110969675A true CN110969675A (zh) | 2020-04-07 |
CN110969675B CN110969675B (zh) | 2023-05-05 |
Family
ID=70032355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911204391.8A Active CN110969675B (zh) | 2019-11-28 | 2019-11-29 | 一种模拟相机不同形状光圈虚化的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110969675B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112837405A (zh) * | 2020-12-04 | 2021-05-25 | 佛山欧神诺云商科技有限公司 | 一种动态建模实现方法、电子设备、存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001216513A (ja) * | 2000-02-01 | 2001-08-10 | Yasumi Ichimura | ぼけと絞り形状画像変換装置および方法 |
US20120293690A1 (en) * | 2011-05-16 | 2012-11-22 | Chia-Ho Lin | Method of Simulating Short Depth of Field and Digital Camera Using the Same |
CN103945210A (zh) * | 2014-05-09 | 2014-07-23 | 长江水利委员会长江科学院 | 一种实现浅景深效果的多摄像头拍摄方法 |
EP3331236A1 (en) * | 2016-11-30 | 2018-06-06 | Thomson Licensing | Method for rendering a final image from initial images acquired by a camera array, corresponding device, computer program product and computer-readable carrier medium |
CN108156378A (zh) * | 2017-12-27 | 2018-06-12 | 努比亚技术有限公司 | 拍照方法、移动终端及计算机可读存储介质 |
CN108337434A (zh) * | 2018-03-27 | 2018-07-27 | 中国人民解放军国防科技大学 | 一种针对光场阵列相机的焦外虚化重聚焦方法 |
WO2018210308A1 (zh) * | 2017-05-19 | 2018-11-22 | 深圳市商汤科技有限公司 | 图像虚化处理方法、装置、存储介质及电子设备 |
CN109741408A (zh) * | 2018-11-23 | 2019-05-10 | 成都品果科技有限公司 | 一种图像及视频漫画效果实时渲染方法 |
-
2019
- 2019-11-29 CN CN201911204391.8A patent/CN110969675B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001216513A (ja) * | 2000-02-01 | 2001-08-10 | Yasumi Ichimura | ぼけと絞り形状画像変換装置および方法 |
US20120293690A1 (en) * | 2011-05-16 | 2012-11-22 | Chia-Ho Lin | Method of Simulating Short Depth of Field and Digital Camera Using the Same |
CN103945210A (zh) * | 2014-05-09 | 2014-07-23 | 长江水利委员会长江科学院 | 一种实现浅景深效果的多摄像头拍摄方法 |
EP3331236A1 (en) * | 2016-11-30 | 2018-06-06 | Thomson Licensing | Method for rendering a final image from initial images acquired by a camera array, corresponding device, computer program product and computer-readable carrier medium |
WO2018210308A1 (zh) * | 2017-05-19 | 2018-11-22 | 深圳市商汤科技有限公司 | 图像虚化处理方法、装置、存储介质及电子设备 |
CN108156378A (zh) * | 2017-12-27 | 2018-06-12 | 努比亚技术有限公司 | 拍照方法、移动终端及计算机可读存储介质 |
CN108337434A (zh) * | 2018-03-27 | 2018-07-27 | 中国人民解放军国防科技大学 | 一种针对光场阵列相机的焦外虚化重聚焦方法 |
CN109741408A (zh) * | 2018-11-23 | 2019-05-10 | 成都品果科技有限公司 | 一种图像及视频漫画效果实时渲染方法 |
Non-Patent Citations (1)
Title |
---|
王丽莎;万璞;孔浩;: "虚拟相机镜头景深效果模拟改进算法" * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112837405A (zh) * | 2020-12-04 | 2021-05-25 | 佛山欧神诺云商科技有限公司 | 一种动态建模实现方法、电子设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110969675B (zh) | 2023-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110033510B (zh) | 建立颜色映射关系用于校正渲染图像颜色的方法及装置 | |
US9947258B2 (en) | Image processing method and image processing apparatus | |
CN109068025A (zh) | 一种镜头阴影校正方法、系统及电子设备 | |
KR20150112754A (ko) | 색공간들 사이에 변환을 위한 방법 | |
JP2018511088A (ja) | Ledディスプレイに用いられる画像処理方法及び装置 | |
CN102480626A (zh) | 图像处理装置、显示装置以及图像处理方法 | |
JP2023552538A (ja) | 画像処理方法及び装置、電子機器、記憶媒体ならびにコンピュータプログラム | |
EP4261784A1 (en) | Image processing method and apparatus based on artificial intelligence, and electronic device, computer-readable storage medium and computer program product | |
US20150356751A1 (en) | Display evaluation device, display evaluation method, and non-transitory computer readable medium | |
CN109615583B (zh) | 一种游戏地图的生成方法及装置 | |
US10621769B2 (en) | Simplified lighting compositing | |
CN110969675B (zh) | 一种模拟相机不同形状光圈虚化的方法 | |
CN109727573B (zh) | 一种显示方法及显示装置 | |
CN113744364B (zh) | 图像处理方法和装置 | |
CN106504200B (zh) | 基于色调偏移估计及逐点色调映射的图像光照补偿方法和系统 | |
KR20220066040A (ko) | 듀얼-픽셀 이미지 데이터를 사용한 디포커스 블러 제거 및 깊이 추정 | |
KR101893793B1 (ko) | 컴퓨터 그래픽 영상의 실감도 증강을 위한 장치 및 방법 | |
WO2019224947A1 (ja) | 学習装置、画像生成装置、学習方法、画像生成方法及びプログラム | |
WO2022103117A1 (en) | Perceptual color enhancement based on properties of responses of human vision system to color stimulus | |
US11350065B2 (en) | Video generation device, video generation method, and program | |
CN111354064B (zh) | 一种纹理图像的生成方法和装置 | |
KR20180117685A (ko) | 높은 정밀도 색역 매핑 | |
CN109358438B (zh) | 云纹评价方法、装置和系统 | |
CN113920239A (zh) | 贴图亮度的调整方法、装置、设备及存储介质 | |
CN116743977A (zh) | 图像处理方法及装置、计算机可读存储介质、终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |