图像处理(opengl)
文章平均质量分 54
文长
咿呀呀
展开
-
RGB图像中值平滑和均值平滑
中值平滑:void MedianSmooth(BYTE* pSrc,BYTE* pDest,int nWidth,int nHeight,unsigned int Ksize){int k2 = Ksize/2;int kmax= Ksize-k2;int i,j,k;int nStride = nWidth*3;RGBQUAD* kernel = (RGBQU原创 2014-11-25 15:56:04 · 1520 阅读 · 0 评论 -
GPUImage实现水印
GPUImage目录下面有个Blends目录,里面有各种各样水印。举个例子:GPUImageAlphaBlendFilter filter = new GPUImageAlphaBlendFilter;filter.setBitmap(bmp);剩下的就和其他filter一样用。iOS addtarget,android setfilter。原创 2016-01-06 11:38:42 · 5215 阅读 · 1 评论 -
javacv解码、录制视频,保存图片
貌似解码得到的每帧图像是RGB24的,要保存Bitmap.Config.ARGB_8888,要转一下cvCvtColor(img,tempImage,CV_BGR2RGBA)。 mGrabber = new FFmpegFrameGrabber(mMvPath); mGrabber.start(); opencv_core.IplImage tempImag原创 2015-12-23 18:33:19 · 6665 阅读 · 0 评论 -
YUV格式
http://blog.csdn.net/airk000/article/details/25032901http://linuxtv.org/downloads/v4l-dvb-apis/yuv-formats.htmlYUV格式YUV是源自于TV广播的符合视频信号,它将亮度信息(Y)从颜色信息(U、V或Cb、Cr)。颜色信息涵盖了红色和蓝色的颜色差异信号转载 2016-02-19 11:13:46 · 4529 阅读 · 0 评论 -
YVU420PackedSemiPlanar32m4ka与YUV420PackedSemiPlanar64x32Tile2m8ka
YVU420PackedSemiPlanar32m4ka与YUV420PackedSemiPlanar64x32Tile2m8ka都是nv12变换来的。* YVU420PackedSemiPlanar : Buffer containing all Y, and then V and U *原创 2016-02-19 15:19:40 · 2357 阅读 · 0 评论 -
android gpuimage显示的缩放和剪裁模式
在gpuimagerender里面有如下方法,GPUImage.ScaleType.CENTER_CROP表示剪裁,可以修改他的参数达到自己的需要。 private void adjustImageScaling() { float outputWidth = mOutputWidth; float outputHeight = mOutput原创 2016-05-26 11:35:44 · 2310 阅读 · 1 评论 -
ios gpuimage输入和得到原始数据
gpuimage中有GPUImageRawDataInput和GPUImageRawDataOutput两个类。GPUImageRawDataOutput头文件:#import #import "GPUImageContext.h"struct GPUByteColorVector { GLubyte red; GLubyte green原创 2016-05-26 11:51:21 · 2662 阅读 · 0 评论 -
ffmpeg一些filter用法、以及一些功能命令
http://blog.csdn.net/dancing_night/article/details/467769031、加字幕 命令:ffmpeg -i -filter_complex subtitles=filename=-y 说明:利用libass来为视频嵌入字幕,字幕是直接嵌入到视频里的硬字幕。转载 2016-08-30 11:50:40 · 1715 阅读 · 0 评论 -
Android上使用OpenGLES2.0显示YUV数据
亲测可用:http://blog.csdn.net/ueryueryuery/article/details/17608185楼主收到这样的任务,在Android上用OpenGLES来显示YUV图像,之所以这样做,是因为:1.Android本身也不能直接显示YUV图像,YUV转成RGB还是必要的;2.YUV手动转RGB会占用大量的CPU资源,如果以这样的形式播放视频,手机会转载 2016-10-28 10:31:02 · 1495 阅读 · 2 评论 -
ANDROID 高性能图形处理 之 OPENGL ES
原文:http://tangzm.com/blog/?p=20在之前的介绍中我们说到在Android 4.2上使用RenderScript有诸多限制,我们于是尝试改用OpenGL ES 2.0来实现滤镜。本文不详细介绍OpenGL ES的规范以及组成部分,感兴趣的同学可以阅读 《OpenGL -ES Programming Guide》。这本书是OpenGL ES的权威转载 2017-05-16 11:27:59 · 1410 阅读 · 0 评论 -
学习OpenGL-ES: 2 - EGL解析
原文:http://www.cnblogs.com/kiffa/archive/2013/02/21/2921123.html1, 前言在前文(学习OpenGL-ES: 1 - 像素、颜色、显存、环境初始化和EGL)中提到EGL是本地平台和OpenGL ES之间的抽象层,其完成了本地相关的环境初始化和上下文控制工作,以保证OpenGL ES的平台无关性。主要包含如下转载 2017-05-17 17:07:49 · 600 阅读 · 0 评论 -
iOS 使用FFmpeg
原文:http://www.jianshu.com/p/ec432a8f5729如何在iOS上集成 FFmpeg,来,博主带大家往坑里走了。我们此次入坑需要的工具:1、gas-preprocessor2、yasm 1.2.03、FFmpeg-iOS-build-script(ps:这个脚本真是业界良心呀,帮我们省下了不少心。)好了,刀已经有了,但是怎么优雅的转载 2017-08-11 14:38:06 · 478 阅读 · 0 评论 -
记录android离屏渲染的一些资料
1、http://www.jianshu.com/p/8793f0fbd1e62、http://blog.csdn.net/junzia/article/details/53861519原创 2017-09-18 10:40:56 · 1837 阅读 · 0 评论 -
GPUImage 组合滤镜
GPUIamgeFilter *_filter = [[GPUImageFilterGroup alloc]init]; GPUImageContrastFilter *contrastFilter = [[GPUImageContrastFilter alloc] init]; [contrastFilter setContrast:3.5]; // 0 - 4原创 2016-01-06 11:04:04 · 2622 阅读 · 3 评论 -
Importing video using Javacv
http://opencvlover.blogspot.tw/2012/05/importing-video-using-javacv.htmlConfiguration steps for javacv on Eclipse running on windows 7 can be found in the link below.http://opencvlover.b转载 2015-12-21 18:20:49 · 843 阅读 · 0 评论 -
iOS UIImage的剪裁、合并实现
原理:1、创建一个输出大小的DC 2、计算图片应该绘制的位置 3、得到DC区域的UIImage- (UIImage *)imageFromImage:(UIImage *)image inRect:(CGRect)rect{ CGImageRef sourceImageRef = [image CGImage]; CGImageRef n原创 2015-01-24 16:17:43 · 1084 阅读 · 0 评论 -
RGB图像镜像
水平镜像:原创 2014-11-25 15:52:32 · 1136 阅读 · 0 评论 -
yv12转nv12,nv12转I420
yv12跟I420区别其实就是u、v顺序不一样,是平面格式,内存中u、v在连续的一块,nv12是打包格式,u、v交叉。yv12转nv12:void swapYV12toNV12(byte[] yv12bytes, byte[] nv12bytes, int width,int height) {int nLenY = width * height;int nLenU原创 2014-11-27 14:26:59 · 6166 阅读 · 1 评论 -
RGB图像任意角度旋转
推导: x = r cos(b);y = r sin(b); _ _ _ _ _ _ _ _ (1) x’ = r cos(a+b);y’ = r sin(a+b); _ _ _ _ _ _ _ _ (2) cos(a+b) = cos(a)cos(b)-sin(a)sin(b);sin(a+b)原创 2014-11-25 16:27:56 · 1518 阅读 · 0 评论 -
ios添加GPUImage到项目
1. 把GPUImage.xcodeproj 拖到你的Xcode project2. 在app的target依赖设置里面添加GPUImage作为Target Dependency3. 在build phase的Link Binary With Libraries, 把libGPUImage.a加进来.4. 添加下面这些framework:CoreMediaC原创 2015-11-13 15:56:41 · 1259 阅读 · 0 评论 -
GPUImage滤镜中的shader代码分析,及自定义滤镜
http://m.blog.csdn.net/blog/vegerjiangsir_11109/27172143#GPUImage由于使用GPU,顾其在滤镜染色的时候真正使用的是Open GL的shader语言。下面我们就GPUImagePinchDistortionFilter分析这些shader语言。GPUImagePinchDistortionFilter转载 2015-10-30 11:03:50 · 2707 阅读 · 0 评论 -
获得GPUImage处理后的UIImage
1: UIImage *inputImage = [UIImage imageNamed:@"test.jpg"]; GPUImagePicture *stillImageSource = [[GPUImagePicture alloc] initWithImage:inputImage]; GPUImageSepiaFilter *sti原创 2015-10-30 14:51:09 · 1318 阅读 · 0 评论 -
GPUImage滤镜效果
#pragma mark - 调整颜色 Handle Color #import "GPUImageBrightnessFilter.h" //亮度#import "GPUImageExposureFilter.h" //曝光#import "GPUImageContrastFilter.h"原创 2015-10-30 14:58:20 · 1546 阅读 · 0 评论 -
GPUimage 遇到的崩溃及问题
做视频滤镜时,遇到崩溃,记录一下:1:@interface vVideoFilter(){ //不崩 GPUImageMovie *_movieFile; GPUImageOutput *_filter; GPUImageMovieWriter *_movieWriter;}//这样写就会崩溃,原因还不知@prope原创 2015-11-16 10:31:28 · 3716 阅读 · 0 评论 -
Object Overlay on Video
https://www.cocoanetics.com/2014/06/object-overlay-on-video/The main objective of this post is to describe how to overlay objects like text and images on video. Well since iOS 4 turned out t原创 2015-11-16 21:08:28 · 615 阅读 · 0 评论 -
GPUImageMovie播放控制
记录一下:Initial method to setup GPUImageMovie,- (void)setupVideo{ playerItem = [[AVPlayerItem alloc]initWithURL:self.recordSession.outputUrl]; player = [AVPlayer playerWithPlayerItem:playe原创 2015-12-18 21:02:19 · 3944 阅读 · 6 评论 -
android Camera相关问题及NV12剪裁旋转
1、SurfaceView不显示画面,可能是xml设置了背景色,这回遮挡视频画面。2、如果想保存方形视频,而又不是通过缩放,可以在预览的适合遮挡不需要的画面。录制的适合剪裁一下。3、因为Camera数据是按横屏给,竖屏的适合,画面会选择90°,StartPreview前设置:mCamera.setDisplayOrientation(90);4、网上找的几个NV原创 2015-12-21 09:55:29 · 2682 阅读 · 0 评论 -
Anroid camera + mediacodec
具体代码参考:https://github.com/google/grafika/tree/master/src/com/android/grafika主要流程:1、生成一个oes textrure2、通过上面生成的oes texture,new一个surfacetexture,设置回调surfacetexture.setOnFrameAvailableListener(CB);原创 2017-10-21 14:35:16 · 776 阅读 · 0 评论