扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
Camera+ ($3)
创新互联专注于企业成都全网营销、网站重做改版、沛县网站定制设计、自适应品牌网站建设、HTML5、商城系统网站开发、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为沛县等各大城市提供网站开发制作服务。
即使更新到最新版本的 iOS 系统,苹果原生的相机软件也是比较弱鸡的。还好我们有 Camera+,可以调节曝光以及其他复杂的操作,比如连续闪光,正面闪光,触摸对焦调整,6 倍数码变焦,定时器和预设滤镜。而且软件的操作界面非常友好,操作非常便捷,随时可以将照片上传到 snapping 或者其他社交媒体平台。
ProCamera ($5)
在 iOS 8 发布的时候,开发者 Cocologics 决定放弃更新现有的 ProCamera 软件,然后重做一款全新的摄影软件。这个全新版本的 ProCamera——现已经针对 iOS10 进行优化——操作界面仍旧简单快捷,但却可以实现非常复杂的操作:设置曝光时间,色调,ISO 感光度等。除了强大的曝光控制和 70 多种独特的滤镜特效,ProCamera 甚至还具有夜间照相机和全分辨率预览功能。
Darkroom
因为缺乏相关的美学基础,所以这个软件的名字可能会被大家误解。但是 Darkroom 确实像它的名字一样,通过设计一个黑色的界面,让你的照片看起来更加耀眼。这款软件和 Lightroom 比较类似,可以调节色相、饱和度和亮度(HSL)或者调整曲线。除此以外还整合一些其他软件的功能,比如集成了 VSCO 的所有滤镜。这款软件 iOS 应用商店的评分是 4.9 分,所以没啥可以犹豫的了——而且它还是免费的哟。
Halide ($5)
如果你是一名初学者,想一点点从自动模式进阶为手动模式,那么 Halide 就是你的不二之选了。自动模式可以轻松捕捉精彩瞬间,而峰值对焦工具,支持 RAW 格式照片可以帮助用户发挥极致的创意,同时软件的操作界面简单友好。Halide 甚至支持人像特效,功能媲美最新款 iPhone 的肖像模式。
Pro HDR X ($2)
ProHDR X 大概是所有 HDR 特效软件里面最全能的,没有之一。与之前版本不同,ProHDR X 重新设计了 UI 界面,降低操作门槛,让普通摄影爱好者也可以操作自如。ProHDR X 支持更为广泛的曝光调整控制以及色调匹配,而且可以将单反相机拍摄的照片(最高支持 2400 万像素)导入到软件的内置照片库。同时 ProHDR X 也提供了大量优秀的预设可供选择,如果需要,甚至可以进行数字缩放、裁剪、字幕和设置自拍定时器等操作。
Adobe Photoshop Express
说到照片后期处理,没人敢说比 Adobe 更专业。尽管他们的桌面版本软件享誉世界,但是手机上移动版本的操作种类比其他同类软件少了很多。但是这丝毫不影响 Adobe Photoshop Express 仍旧是市面上最佳的后期软件之一。软件支持常用的 Photoshop 功能如图层、选择工具和调整、添加文本、效果应用以及混合图像等。不过,很多功能只有在付费后才能使用。所以如果选择了 Adobe Photoshop Express,那么就要做好钱包出血的准备咯~
Adobe Lightroom
尽管 Adobe 公司的很多软件只支持较新版本的 iPhone,但这丝毫不能影响其在我们软件名单上举足轻重的地位,尤其是那些在旅途中对照片进行后期处理的摄影师们。Lightroom 会自动与桌面设备同步图像——无论是智能手机拍摄的图像还是单反拍摄的原始图像,都可以灵活使用各种熟悉的工具快速编辑、美化并且分享。在 iOS10 系统中,Lightroom 已经开始支持 RAW 格式的导入和编辑。
如果只字不提滤镜之王,我们整理的软件名单估计就没啥说服力了。或许有数十种软件可以实现相同的功能,但是 Instagram 始终保持最庞大的用户群体。Instagram 不仅提供了一系列经典滤镜可供使用,同时对照片进行评论、点赞或者分享,甚至可以直接将照片发给特定的好友。
Pixlr
网页版本的 Pixlr 一直都是最受大家喜爱的照片后期工具,好消息是 Pixlr 已经推出了手机版本软件。在调整照片大小时,Pixlr 支持从四个预先定义的尺寸中进行选择,并可进行裁剪、旋转、风格化并进行照片分享。灯光和叠加效果甚至可以改善心情,而一键调整则可以快速自动地完成后期工作。
Facetune 2
不是所有人都非常上相,况且很多时候你在 snap 上传你和你朋友照片的时候,和本人也是有区别的。通过 Facetune 2,你可以将任何「见光死」的自拍变成万人迷。软件支持多种美化,比如牙齿美白、去除污点和颜色校正,使面孔看起来非常完美,以便于上传到社交网络。最厉害的是,Facetune 2 甚至可以改变眼睛或者头发的颜色。
Photo Editor by Aviary
如果想要一个好用而且免费的后期软件,推荐使用 Photo Editor by Aviary。被 Adobe 公司收购后,软件得以强化很多复杂功能,并且操作界面更加友好。Photo Editor by Aviary 支持在线购买滤镜预设,而且有大量预设和其他资源可供选择。和 Facetune 类似,Aviary 也支持消除红眼、增白牙齿等功能。除此以外,还支持增加文字、替换颜色和社交网络。但是需要注意的是,Photo Editor by Aviary 已经超过 11 个月没有更新了,所以不支持近期发布手机的最新功能。同时未来也很难看到 Photo Editor by Aviary 的重大更新了。
Horizon Camera
我们一般情况下从不竖着手机拍摄视频。但是万一你的猪队友没有横向拍视频,Horizon Camera 就可以用来救场了。Horizon 可以强制手机只在横向时拍摄视频,即使旋转手机也可以保持水平角度不变。Horizon 支持 60 和 120 帧/秒的慢速模式,并允许以自定分辨率进行录制——当然,前提是在系统允许范围内。
该框架框架包含视频相关的APIs和音频相关的APIs。
针对音频及视频,其主要提供的功能可以归纳为4各方面:
1)、Capture
音频、视频、图像媒体的捕捉,并输出我们可用的数据对象的过程。
2)、Edit
针对现有的媒体片段(音频片段或视频片段),重新创建Assets,重新加工、生成新的媒体片段。例如,Reading, Writing, Reencoding Assets, Thumbnails
3)、Export
提供导出音视频的API。例如,修改文件格式、消减时长等。
4)、Presentation
例如,播放、音视频的预览
设备的输入源主要包括:麦克风(Microphone),摄像头(Camera),屏幕等
输入源一般包括:AVCaptureVideoPreviewLayer,AVCaptureAudioPreviewOutput,文件、Raw Buffer等。
从一个设备,例如照相机或者麦克风管理捕获,组合对象来表示输入和输出,并使用 AVCaptureSession 的实例来协调它们之间的数据流。
一个简单的会话协调:
AVCapture Session作为整个Capture的核心,不断从输入源获取数据,然后分发给各个输出源,从而完成一次简单的会话。
AVCaptureSession参数配置
开始会话
结束会话
然而,很多情况下,需要考虑多个输入源是如何被表示以及如何连接到输出。
输入源有自己的硬件参数可以设置流控,输出源作为一个被动接受对象,它并没有太多流控设置,所以苹果巧妙的引入AVCaptureConnections。每个Output与Session建立连接后,都会分配一个默认的AVCpatureConnection。
AVCaptureConnections就是Session和Output中间的控制节点。很多实时数据,也都是从connection得到的。
输入设备的配置
输出的配置
接收输出资源
1)、视频
2)、照片输出
打开相机:
[cpp] view plain copy
//先设定sourceType为相机,然后判断相机是否可用(ipod)没相机,不可用将sourceType设定为相片库
UIImagePickerControllerSourceType sourceType = UIImagePickerControllerSourceTypeCamera;
// if (![UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]) {
// sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
// }
//sourceType = UIImagePickerControllerSourceTypeCamera; //照相机
//sourceType = UIImagePickerControllerSourceTypePhotoLibrary; //图片库
//sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; //保存的相片
UIImagePickerController *picker = [[UIImagePickerController alloc] init];//初始化
picker.delegate = self;
picker.allowsEditing = YES;//设置可编辑
picker.sourceType = sourceType;
[self presentModalViewController:picker animated:YES];//进入照相界面
[picker release];
打开相册:(区分pad和iphone)
for iphone:
[cpp] view plain copy
UIImagePickerController *pickerImage = [[UIImagePickerController alloc] init];
if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) {
pickerImage.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
//pickerImage.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
pickerImage.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:pickerImage.sourceType];
}
pickerImage.delegate = self;
pickerImage.allowsEditing = NO;
[self presentModalViewController:pickerImage animated:YES];
[pickerImage release];
for ipad:
[cpp] view plain copy
UIImagePickerControllerSourceType sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
//sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; //保存的相片
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.allowsEditing = NO;//是否允许编辑
picker.sourceType = sourceType;
/*
如果从一个导航按钮处呈现,使用:
presentPopoverFromBarButtonItem:permittedArrowDirections:animated:;
如果要从一个视图出呈现,使用:
presentPopoverFromRect:inView:permittedArrowDirections:animated:
如果设备旋转以后,位置定位错误需要在父视图控制器的下面方法里面重新定位:
didRotateFromInterfaceOrientation:(在这个方法体里面重新设置rect)
然后再次调用:
- (void)presentPopoverFromRect:(CGRect)rect inView:(UIView *)view permittedArrowDirections:(UIPopoverArrowDirection)arrowDirections animated:(BOOL)animated
*/
//UIPopoverController只能在ipad设备上面使用;作用是用于显示临时内容,特点是总是显示在当前视图最前端,当单击界面的其他地方时自动消失。
UIPopoverController *popover = [[UIPopoverController alloc]initWithContentViewController:picker];
self.imagePicker = popover;
//permittedArrowDirections 设置箭头方向
[self.imagePicker presentPopoverFromRect:CGRectMake(0, 0, 300, 300) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
[picker release];
[popover release];
点击相册中的图片 货照相机照完后点击use 后触发的方法
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary
*)info
点击cancel 调用的方法
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
你可能这App Store中搜到过很多AI相机App,提供各种AI变脸特效,这些功能都是怎样实现的呢?我们自己能不能开发一款相近功能的App呢?
出于这样的想法,就有了“魔法相机”这个开源项目。接下来的一段时间里,我会不断更新这个系列文章,和大家分享开发过程和各种技术细节,希望能对大家有帮助。
魔法相机是一款基于SwiftUI和CoreML开发的 iOS AI 相机应用,实现了下列功能:
项目地址: william0wang/MagicCamera (github.com)
首先,计划未来一段时间,把开发过程中的心得和各种技术细节通过文章分享给大家,希望对大家能用帮助。
在功能方面,当前已经实现了AI相机App最流行的拍照功能。后续计划会增加更多视频相关功能,例如视频变脸等。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流