opencv(c++)灰度变换(线性变换,非线性变换)和直方图修正

1.灰度变换通常有3种方法对彩色图灰度化。<1>加权平均值D=0.299xR+0.587xG+0.114xB;<2>取最大值法D=max(R,G,B);<3>平均值法D=(R+G+B)/31.1平均值法//平均值法void rgb2gray(Mat& input, Mat& out) { for (int i = 0; i < input.rows; i++) { for (int j = 0; j < input.c
分类: 企业开发 发布时间: 06-22 05:00 阅读次数: 0

opencv(c++)几何变换------图像平移、旋转、缩放、翻转、剪贴

1. 图像平移//平移操作,图像大小不变Mat imageTranslation1(cv::Mat& srcImage, int x0ffset, int y0ffset){ Mat resultImage(srcImage.size(), srcImage.type()); //遍历图像 for (int i = 0; i < srcImage.rows; i++) { for (int j = 0; j < srcImage.cols; j++) { in
分类: 企业开发 发布时间: 06-22 05:00 阅读次数: 0

opencv(c++)------基础练习二

#include<iostream>#include<opencv.hpp>using namespace std;using namespace cv;Mat move_on(Mat srcimg,double xoffset,double yoffset) { int row = srcimg.rows - abs(yoffset); int col = srcimg.cols - abs(xoffset); Mat outimg(row,col,CV_8UC1)
分类: 企业开发 发布时间: 06-22 05:00 阅读次数: 0

opencv(c++)平滑滤波------均值、中值、高斯、盒子、双边滤波总结(一)

1. 平滑滤波1.1 均值滤波(blur)blur的作用是对输入的图像src进行均值滤波后用dst输出。C++: void blur(InputArray src, OutputArray dst, Size ksize, Point anchor=Point(-1,-1), int borderType=BORDER_DEFAULT )参数详解如下:第一个参数,InputArray类型的src,输入图像,即源图像,填Mat类的对象即可。该函数对通道是独立处理的,且可以处理任意通道数的图片,但需
分类: 企业开发 发布时间: 06-22 05:00 阅读次数: 0

opencv(c++)锐化滤波(边缘检测算子)------sobel、scharr、Canny、Laplacian总结(二)

锐化滤波锐化滤波主要作用:提高边缘对比度。在图像边缘检测的基础上,对物体背景灰度和纹理特征进行一种无损检测。边缘检查方法,包括一阶微分边缘检测和二阶微分边缘检测。一阶微分边缘检测:soble、prewitt、roberts.二阶微分边缘检测:拉普拉斯算子、高斯拉普拉斯算子、Canny算子.边缘检测和图像锐化区别:1. sobelvoid Sobel( InputArray src, OutputArray dst, int ddepth, i
分类: 企业开发 发布时间: 06-22 05:00 阅读次数: 0

opencv(c++)------读取图片、保存图片、切割图片、销毁窗口

利用opencv切割并保存图片,需要使用Rect类进行操作。这里讨论如何加载图片、保存图片、切割图片、销毁窗口和waitKey()的用法。Mat img = imread("汽车.png");//读取图片imshow("原图", img);//切割图片//方法一Mat img1;img(Rect(50, 200, 400, 300)).copyTo(img1);imshow("图1", img1);imwrite("automobile_part.jpg", img1);//方法二Re
分类: 企业开发 发布时间: 06-22 05:00 阅读次数: 0

opencv(c++)图像金字塔-----高斯金字塔(上采样和下采样)和拉普拉斯金字塔(Laplacian)

图像金字塔图像金字塔有两种,一种是高斯金字塔,另一种是拉普拉斯金字塔;高斯金字塔用来向下采样,是主要的图像金字塔。拉普拉斯金字塔用来从金字塔图像底层图像重建上层未采样图像,在数据图像处理中,就是数据残差,可以对图像进行最大程度的还原,配合高斯金字塔一起使用。两者区别:高斯金字塔用来向下采样图像,而拉普拉斯金字塔用来从金字塔底层图像中向上采样以重建一个图像。1.高斯金字塔1.1 pyrDown函数:函数的作用:对图像进行滤波(高斯滤波)然后进行下采样,即删除所有的偶数行和列。函数调用形式:v
分类: 企业开发 发布时间: 06-22 05:00 阅读次数: 0

opencv(c++)图像滤波器模块----图像形态学(膨胀、腐蚀、开闭操作、顶帽黑帽、梯度、击中不击中)总结(三)

2. 形态滤波(膨胀(dilate)和腐蚀(erode))Mat getStructuringElement(int shape, Size ksize, Point anchor = Point(-1,-1));参数:shape:结构元素。ksize:结构元素大小。anchor:锚点,默认值Point(-1,-1)表示锚点位于结构元素中心。getStructuringElement()函数构建并返回一个结构元素,可以被作为参数传递给 erode,dilate或morphologyEx函数。你
分类: 企业开发 发布时间: 06-22 05:00 阅读次数: 0

opencv(c++)------基础练习三

#include<iostream>#include<opencv2/opencv.hpp>using namespace std;using namespace cv;#if 0int main() { //用VS新建OpenCV工程项目,对附件中的图像automobile.jpg完成题目要求中指定的操作。 //(除特殊注明外,每项5分)。 //1.包含必要的头文件; Mat img = imread("汽车.png"); imshow("原图", im
分类: 企业开发 发布时间: 06-22 05:00 阅读次数: 0

opencv(c++)------视频处理(视频和摄像头)

VideoCapture类,有三个构造函数:VideoCapture类VideoCapture::VideoCapture()//默认无参构造函数;VideoCapture::VideoCapture(int device)//参数device指定要打开的摄像头设备,例如(0),(1);VideoCapture::VideoCapture(const string& filename);//构造函数中filename 是指要打开的视频文件路径以及名称;VideoWriter类:Vid
分类: 企业开发 发布时间: 06-22 05:00 阅读次数: 0

opencv(c++)------基础练习四

opencv练习#include <iostream>#include<opencv.hpp>using namespace cv;using namespace std;int main() { //复习提纲4: //1.第2章 开发环境 //(1)打开图像,并显示; Mat img = imread("img.jpg"); imshow("原图",img); //(2)对图像进行灰度化处理; Mat gray; cvtColor(img,gray,C
分类: 企业开发 发布时间: 06-22 05:00 阅读次数: 0

html+css实战185-版权内容

html
分类: 编程语言 发布时间: 06-22 04:55 阅读次数: 0

html+css实战186-底部

html
分类: 编程语言 发布时间: 06-22 04:55 阅读次数: 0

html+css实战188-侧导航布局

html
分类: 编程语言 发布时间: 06-22 04:55 阅读次数: 0

【React工作记录六十二】ant design锚点组件

html
分类: 编程语言 发布时间: 06-22 04:55 阅读次数: 0

PyTorch使用多GPU并行训练及其原理和注意事项

PyTorch使用多GPU并行训练及其原理和注意事项
分类: 企业开发 发布时间: 06-22 04:51 阅读次数: 0

如何删除/选择电脑上的输入法

一、删除输入法,按下图操作:二、选择输入法,按下图操作:
分类: 移动开发 发布时间: 06-22 04:49 阅读次数: 0

比特币抛售潮导致73亿美元损失

谁在崩盘的痛苦中卖出了比特币?
分类: 企业开发 发布时间: 06-22 04:48 阅读次数: 0

Linux 下编译 VLC for Android

Linux 下编译 VLC for Android
分类: 企业开发 发布时间: 06-22 04:46 阅读次数: 0