图像处理
图像处理
rjszcb
不断学习变成牛
展开
-
直方图均衡化原理(一)
直方图均衡化的作用是图像增强。有两个问题比较难懂,一是为什么要选用累积分布函数,二是为什么使用累积分布函数处理后像素值会均匀分布。第一个问题。均衡化过程中,必须要保证两个条件:①像素无论怎么映射,一定要保证原来的大小关系不变,较亮的区域,依旧是较亮的,较暗依旧暗,只是对比度增大,绝对不能明暗颠倒;②如果是八位图像,那么像素映射函数的值域应在0和255之间的,不能越界。综合以上两个条件,累积分布函数是个好的选择,因为累积分布函数是单调增函数(控制大小关系),并且值域是0到1(控制越界问题),所以直方图均衡原创 2021-06-17 16:38:12 · 534 阅读 · 0 评论 -
Gamma校正原理及实现(一)
hisi3559提供的hipq工具,可以看到调试伽马参数曲线的变化,当系数小于1时,对暗区提升比较明显,对亮区提升并不多,这是我们需要的结果,如下三张图,不同系统,曲线弯曲度不一样,对图像的提升效果也不一样,根据实际需求,调整参数,一:二;三:gamma校正原理: 假设图像中有一个像素,值是 200 ,那么对这个像素进行校正必须执行如下步骤: 1. 归一化 :将像素值转换为 0 ~ 1 之间的实数。 算法如下 : ( i + 0. 5)/256 这里包含 1 个除法和 1 个加.原创 2021-06-17 17:41:48 · 4038 阅读 · 0 评论 -
直方图均衡提高图像对比度亮度hisi3559av100(四)
// 2. EqualizeHist 直方图均衡实现过程,hisi3559av100为例, typedef struct hiVIDEO_FRAME_S { HI_U32 u32Width; HI_U32 u32Height; VIDEO_FIELD_E enField; PIXEL_FORMAT_E enPixelFormat; VIDEO_FORMAT_E enVideoFor原创 2021-06-17 17:05:37 · 503 阅读 · 1 评论 -
直方图均衡化算法原理与实现(三)
直方图均衡化算法原理与实现工作后,对原来学习的一些基本图像处理算法有了一些新的认识,比如Canny 算法,直方图均衡化算法等,今天就来说说直方图均衡化算法。直方图均衡化原理我们知道提高图像对比度的变换函数f(x)需要满足一下条件:f(x)在0<=x<=L−1上单调递增(不要求严格单调递增),其中L表示灰度级(L=256)f(x)的范围是[0,L−1]我们知道当图像直方图完全均匀分布的时候,此时图像的熵是最大的(随机变量每个值的概率都相同时,概率最大),图像对比度是最大的。所以,理想情转载 2021-06-17 16:46:33 · 262 阅读 · 0 评论 -
直方图均衡化原理(二)
项目中遇到要直方图均衡化,在网上找到如下介绍:博主忘记是谁了,转载的,谢谢!直方图均衡化算法分为三个步骤,第一步是统计直方图每个灰度级出现的次数,第二步是累计归一化的直方图,第三步是计算新的像素值。第一步:for(i=0;i<height;i++){ for(j=0;j<width;j++){ n[s[i][j]]++; }}for(i=0;i<L;i++){ p[i]=n[i]/(width*height);}这里,n[i]表示的是灰度原创 2021-06-17 16:41:22 · 140 阅读 · 0 评论 -
HiPQTools工具中找不到HiPQStitchingTool(一)
要用hisi的芯片做拼接,就要用到HiPQTools工具中的HiPQStitchingTool插件,进行标定,可是打开HiPQTools,没有这个插件,找了好久,还以为是版本没有更新。下图是我已更新的图,有了插件,没有安装之前是没有的。在《图像质量调试工具使用指南》文档的第三页里有,写要下载matlab的插件,才是使用。点击文档的连接地址,进入的是下面的网页,可以直接访问下面的地址,下载matlab runtime插件。https://ww2.mathworks.cn/products/com原创 2021-12-30 10:35:57 · 694 阅读 · 2 评论 -
opencv,上下左右,实现图像拼接(五)
转自:https://www.jb51.net/article/154643.htm#include <iostream>#include <core/core.hpp>#include <opencv2/imgproc/imgproc.hpp>#include <opencv2/highgui/highgui.hpp>using namespace std;using namespace cv;int main(){ //cv::Mat a转载 2021-12-27 17:24:20 · 1273 阅读 · 0 评论 -
Opencv stitcher图像无缝拼接生成全景图像(四)
转自:https://blog.csdn.net/hanshuning/article/details/41149137?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_title~default-0.no_search_link&spm=1001.2101.3001.4242.1#include #include#include #include “opencv2/highgui/highgui.hpp”#转载 2021-12-27 17:16:14 · 688 阅读 · 0 评论 -
Opencv Surf特征实现图像无缝拼接生成全景图像(三)
图像拼接在实际的应用场景很广,比如无人机航拍,遥感图像等等,图像拼接是进一步做图像理解基础步骤,拼接效果的好坏直接影响接下来的工作,所以一个好的图像拼接算法非常重要。再举一个身边的例子吧,你用你的手机对某一场景拍照,但是你没有办法一次将所有你要拍的景物全部拍下来,所以你对该场景从左往右依次拍了好几张图,来把你要拍的所有景物记录下来。那么我们能不能把这些图像拼接成一个大图呢?我们利用opencv就可以做到图像拼接的效果!比如我们有对这两张图进行拼接。从上面两张图可以看出,这两张图有比较多的重叠部分,这转载 2021-12-23 17:05:25 · 3104 阅读 · 1 评论 -
Opencv Surf特征实现图像无缝拼接生成全景图像(二)
https://blog.csdn.net/b695886658/article/details/80856080?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-0.essearch_pc_relevant&spm=1001.2101.3001.4242.1找到图像1和图像2中最强的匹配点所在的位置通过映射矩阵变换,得到图像1的最强匹配点经过映射后投影到新图像上转载 2021-12-23 16:39:33 · 271 阅读 · 0 评论 -
OpenCV SURF图像拼接、配准和图像融合技术(一)
SURF的构建流程是:构建Hessian矩阵、H矩阵判别式、构建尺度空间、精确定位特征点、主方向确定、特征点描述子生成、误匹配点剔除、融合图像、优化连接处的图像。下面是 博主抄袭别人改进的//zjy 2021.7.19 周五 SURF图像融合#include <iostream> #include <stdio.h> #include "opencv2/core.hpp" #include "opencv2/core/utility.hpp" #inclu原创 2021-12-23 16:28:05 · 2447 阅读 · 3 评论 -
opencv将图像拷贝到待合并图像的感兴趣区域
将图像拷贝到待合并图像的感兴趣区域#include<cv.h>#include<highgui.h>using namespace cv;int main(){ Mat image1=imread("1.jpg"); Mat image2=imread("2.jpg"); if (image1.empty() || image2.empty()) { printf("open error"); return原创 2021-12-23 15:34:55 · 1529 阅读 · 0 评论 -
opencv柱面投影,C语言实现
在做全景拼接的时候,为了保持图片中的空间约束与视觉的一致性,需要进行柱面投影,否则离中心图像距离越远的图像拼接后变形越大。柱面投影公式为这个是https://blog.csdn.net/zouxin_88/article/details/85167602的代码,rgb彩色的int main(){ cv::Mat image1 = cv::imread("images/1.jpg", 1); if (!image1.data) return 0; imshow("image1", imag原创 2021-12-23 15:20:53 · 4285 阅读 · 0 评论 -
水平视角垂直视角概念
水平视角垂直视角概念,如下作图,指的是水平上,视野宽度,右图,是垂直方向上,视野高度。原创 2021-12-14 20:06:43 · 6209 阅读 · 0 评论 -
图像融合之.金字塔(六)
https://zhuanlan.zhihu.com/p/58722618这其实也是一种Alpha融合,实际上上面的过程就是:leftImageWeight * leftImage + rightImageWeight * rightImage = OutputImage其中:leftImageWeight + rightImageWeight = 1转载 2021-12-10 20:31:59 · 95 阅读 · 0 评论 -
双目相机空间坐标重建.之直线投影(六)
双目相机空间坐标重建.之直线投影(六)原创 2021-12-10 18:37:44 · 1686 阅读 · 0 评论 -
双目相机空间坐标重建.拼接融合(五)
双目相机空间坐标重建.拼接融合(五)// testOpenCV.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#pragma warning(disable : 4996)#include "stdafx.h"#include <iostream>#include <vector>#include <opencv2/opencv.hpp>#include <opencv2/xfeatures2d.hpp原创 2021-12-10 18:34:06 · 2492 阅读 · 0 评论 -
双目相机空间坐标重建.图像畸变处理(四)
双目相机空间坐标重建.图像畸变处理(四)cv::Mat Im0 = cv::imread(“E:\zcb_work\2113\pic\ch1\left11.jpg”, 0);if (Im0.empty())return -1;printf("++++ open image succesful +++\r\n");imshow(“image0”, Im0);double fx1 = 534.10766364;//mmdouble fy1 = 534.01052742;//mmdouble c原创 2021-12-10 18:31:03 · 1288 阅读 · 0 评论 -
双目相机空间坐标重建.坐标重建(三)
双目相机空间坐标重建.坐标重建(三)旋转,平移,坐标重建,拼接,融合。原创 2021-12-10 18:25:42 · 707 阅读 · 0 评论 -
双目相机空间坐标重建.相机模型(二)
原创 2021-12-10 18:23:45 · 458 阅读 · 0 评论 -
双目相机空间坐标重建.之小孔成像(一)
双目相机空间坐标重建.一、小孔成像二、相机模型原创 2021-12-10 18:22:28 · 1331 阅读 · 0 评论 -
平面在球面上的投影
平面在球面上的投影相机的,像素坐标,图像坐标,相机坐标,世界坐标如下示意图,是一个右手坐标系假设在世界坐标系有一个观察平面,和对应到相机坐标系,像素坐标的示意图。假定观察者垂直视角宽度为2β,水平视角宽度为2α,初始状态下P0,P1,P2,P3,P4各点坐标如下:用户需设置显示分辨率(水平分辨率/垂直分辨率),设置完分辨率后,可对世界坐标系中的点 构成的平面进行图像输出,为了求得整个平面上的坐标点在世界坐标系的坐标,需要对每一个坐标点进行换算,由于在cpu里,三角计算,乘法和除法相对于加减运算原创 2021-12-07 16:12:59 · 4832 阅读 · 2 评论