opencv中一些功能函数

OpenCV,matlab功能相同函数小结 分类: Matlab OpenCV2010-09-13 10:53 4667人阅读 评论(9) 收藏 举报 matlabimagec 1、matlab中的imread相当于OpenCV中的cvLoadImage(imageName,  CV_LOAD_IAMGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR):读出的图像信息保持了原有图像的信息(包括通道信息和 阅读详情

漫水填充


int floodFill(InputOutputArray image, Point seedPoint, Scalar newVal, Rect *rc = 0, Scalar loDIff = Scalar(), Scalar upDiff = Scalar(), int flags = 4)
int floodFill(InputOutputArray image, InputOutputArray mask, Point seedPoint, Scalar newVal, Rect *rc = 0, Scalar loDIff = Scalar(), Scalar upDiff = Scalar(), int flags = 4)

floodFill 功能类似ps里的魔棒工具,就是把颜色相近的区域填充成指定颜色

第二个版本比第一个版本的多了个掩模参数,在第二个参数位置,可以说是第一个版本的强化版

下面只说第二个版本

参数:

1  待处理图像

2  掩模,这个掩模应符合如下要求,也可以不用这个参数,直接使用版本一

8位单通道

长宽均比原始图像大2

用零初始化

注意,原始图像像素的坐标若为(x,y),在掩模中因为(x+1, y+1)

3  Scalar类型,颜色,选择区域填充的颜色

4  Point类型,种子像素,选择的区域围绕这个点展开

5  Rect类型,选择的区域只能在这个范围内,默认全图

6  Scalar 类型,差别的下限,也就是最多能低多少

7  Scalar 类型,差别的上限,也就是最多能高多少

8  int类型,是个标志

低8位,4或8,默认4,用于控制连通性,为4表示算法只考虑当前像素的上下左右四个方向,为8表示算法考虑当前像素周围的全部8个像素

高16位,可以设置两个功能

FLOODFILL_FIXED_RANGE   在16位,如果设置了这个功能,表示算法考虑当前像素和种子像素之差,否则考虑当前像素与周围像素之差

FLOODFILL_MASK_ONLY        在17位,如果设置了这个功能,表示算法只填充掩模,不改变原图,这个标志只对第二个版本有效

中间8位,表示填充掩模的颜色,全0时自动用全1代替


图像缩放


void  resize(InputArray src, OutputArray dst, Size dsize, double fx = 0, double fy = 0, int interpolation = INTER_LINEAR)


用于缩放图像

1 源图像

2 输出图像

3 缩放后尺寸,如果为0,会通过4,5自动计算

4 宽度缩放倍数,如果为0,会通过3自动计算

5 高度缩放倍数,如果为0,会通过3自动计算

6 插值方式,有默认值,可选方式

INTER_NEAREST        = 0,
    INTER_LINEAR         = 1,
    INTER_CUBIC          = 2,
    INTER_AREA           = 3,
    INTER_LANCZOS4       = 4

没仔细研究过,默认是INTER_LINEAR(线性),放大图像用INTER_LINEAR(推荐)或INTER_CUBIC,缩小用INTER_AREA


void pyrUp

void pyrDown


阈值化


void threshold


void adaptiveThreshold


#include <core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>

using namespace cv;

Mat ma1;

Mat ma2;

Mat ma3;

Mat ma4;

Mat ma5;

int thresh=0;
int blocksize = 0;
int type = 1;
int adatype = 1;
int C = 0;

void fill(int event, int x, int y, int flags, void *param)
{
	Rect rc;

	switch (event)
	{
	case CV_EVENT_LBUTTONDOWN:
		floodFill(ma1, Point(x, y), Scalar(155, 255, 50), &rc, Scalar(5, 5, 5), Scalar(5, 5, 5));
		break;

	}
	imshow("im2", ma1);
	INTER_LINEAR;
}

void on_adaadj(int, void *)
{
	switch (adatype)
	{
	case 1:
		adaptiveThreshold(ma3, ma5, 255, ADAPTIVE_THRESH_GAUSSIAN_C, THRESH_BINARY, 2 * (blocksize+1) + 1, C);
		break;
	case 2:
		adaptiveThreshold(ma3, ma5, 255, ADAPTIVE_THRESH_GAUSSIAN_C, THRESH_BINARY_INV, 2 * (blocksize+1) + 1, C);
		break;
	}

	imshow("im5", ma5);
}

void on_adaC(int, void *)
{
	switch (adatype)
	{
	case 1:
		adaptiveThreshold(ma3, ma5, 255, ADAPTIVE_THRESH_MEAN_C, THRESH_BINARY, 2 * (blocksize + 1) + 1, C);
		break;
	case 2:
		adaptiveThreshold(ma3, ma5, 255, ADAPTIVE_THRESH_MEAN_C, THRESH_BINARY_INV, 2 * (blocksize + 1) + 1, C);
		break;
	}

	imshow("im5", ma5);
}

void on_adj(int, void*)
{
	switch (type)
	{
	case 1:
		threshold(ma3, ma4, thresh, 255, THRESH_BINARY);
		break;

	case 2:
		threshold(ma3, ma4, thresh, 255, THRESH_BINARY_INV);
		break;

	case 3:
		threshold(ma3, ma4, thresh, 255, THRESH_TRUNC);
		break;

	case 4:
		threshold(ma3, ma4, thresh, 255, THRESH_TOZERO);
		break;

	case 5:
		threshold(ma3, ma4, thresh, 255, THRESH_TOZERO_INV);
		break;
	}

	imshow("im4", ma4);
}

int main()
{
	ma1 = imread("1.png");
	
	imshow("im1", ma1);

	Rect rc;

	floodFill(ma1, Point(30, 50), Scalar(155, 255, 50), &rc, Scalar(5, 5, 5), Scalar(5, 5, 5));

	imshow("im2", ma1);

	setMouseCallback("im2", fill, NULL);

	ma2 = imread("2.png");

	imshow("im changing", ma2);

	ma3 = imread("1.png");

	cvtColor(ma3, ma3, COLOR_BGR2GRAY);

	imshow("im4", ma3);
	imshow("im5", ma3);

	int com;
	bool bBusy = true;
	
	createTrackbar("слох", "im4", &thresh, 255, on_adj, NULL);

	createTrackbar("blocksize", "im5", &blocksize, 100, on_adaadj, NULL);
	
	createTrackbar("C", "im5", &C, 100, on_adaC, NULL);

	while (bBusy)
	{
		com = waitKey(10);

		switch (com)
		{
		case 27:
		case 'q':
			bBusy = false;
			break;

		case 's':
			if (ma2.cols / 2 != 0)
			{
				printf("resize smaller\n");
				resize(ma2, ma2, Size(ma2.cols * 0.9, ma2.rows * 0.9));

				imshow("im changing", ma2);
			}
			break;

		case 'd':

			{
				printf("resize bigger\n");
				resize(ma2, ma2, Size(ma2.cols * 2, ma2.rows * 2));

				imshow("im changing", ma2);
			}
			break;

		case 'f':
			if (ma2.cols / 2 != 0)
			{
				printf("pyrDown smaller\n");
				pyrDown(ma2, ma2, Size(ma2.cols / 2, ma2.rows / 2));

				imshow("im changing1", ma2);
			}
			break;

		case 'g':

			{
				printf("pyrUp bigger\n");
				pyrUp(ma2, ma2, Size(ma2.cols * 2, ma2.rows * 2));

				imshow("im changing1", ma2);
			}
			break;

		case 'r':
			printf("reset\n");
			ma2 = imread("2.png");
			imshow("im changing", ma2);
			imshow("im changing1", ma2);
			break;

		case '1':
		case '2':
			adatype = com - '0';
		case '3':
		case '4':
		case '5':
			type = com - '0';
			break;

		}
	}

	return 0;
}



opencv中有和matlab中conv2一样功能的函数吗? opencvmatlab opencv中有和matlab中conv2一样功能的函数吗? 我正在把一份matlab图像处理的代码翻译成C++代码,用的是opencv的库,现在有一个问题,matlab中的conv2函数在opencv中有没有对应的函数呢?我用的是cvFilter2D,不过结果貌似不对,下面是两个函数分别做卷积的结果: 阅读详情

相关推荐

OpenCv 图像细化函数,代码只是实现了功能,可以继续优化

#include #include #include //定义细化函数 IplImage * cvThin(IplImage *src,IplImage *dst) { IplImage *t_img=cvCreateImage(cvGetSize(src),src->depth,1); t_img=cvCloneImage(src); int t1=0,t2=0,t3

650

opencv c++ 实时对象追踪

根据选定的ROI区域的颜色直方图选定若干点,然后计算空间点图心。如果在过程中图心始终位于该ROI的中心,则对象没有移动,若图心改变,则对象朝图心改变的方向移动。但它不会允许改变边界框大小(即只允许图像对象的平动,不允许前后运动)。在meanshift的基础上可以自适应边界框大小,还可以追踪对象的方向。涉及算法:meanshift,CAMshift。

lucust的博客 2192

opencv轮廓的简单应用

opencv轮廓的简单应用: 相关函数如下: cvFindContours,cvThreshold,cvContourArea,cvArcLength,cvBoundingRect,cvMinAreaRect2,cvBoxPoints,cvMinEnclosingCircle,cvDrawContours。 1.查找轮廓 2.按地址依次取出轮廓 3.计算轮廓的相关参数 4、根据实际需求做取舍,画出轮廓

OPenCV结构分析与形状描述符(4)计算一个旋转矩形的四个顶点的函数boxPoints()的使用

找到一个旋转矩形的四个顶点

jndingxin的专栏 1107

(论文速读)PTV3: 更简单、更快速、更强大的3D点云处理新突破

该论文提出PointTransformerV3(PTv3),通过简化设计实现3D点云处理的效率突破。该研究摒弃复杂注意力机制,转而采用点云序列化和补丁注意力等高效方法,将感受野从16点扩展到1024点,在保持高精度的同时实现3倍速度提升和10倍内存优化。PTv3在超过20个室内外场景任务中取得SOTA结果,ScanNet语义分割达79.4%mIoU,Waymo检测提升3.3%APH。核心创新包括四种空间填充曲线序列化模式和xCPE位置编码,为3D感知的工业应用提供了高效解决方案。

LJ1147517021的博客 1377

AI自动打游戏全攻略:从环境搭建到Agent训练实战

本文系统介绍了AI自动打游戏的技术实现方案,重点解析了强化学习(DQN算法)在贪吃蛇游戏中的应用。文章从技术选型入手,对比了强化学习与计算机视觉两种方案,详细说明了开发环境配置步骤,并深入讲解了DQN模型构建、游戏环境封装、训练优化等核心环节。通过经验回放和目标网络等技术,有效提升了AI的学习效率和稳定性。该方案具有通用性,只需调整参数即可应用于其他简单游戏场景,为开发者实现游戏AI提供了完整的技术路径。

milk416666的博客 4135

OpenCV笔记(C++版)

贾志刚C++ OpenCV的整理笔记

feichangyanse的博客 4884

[ADS]单端电感和差分电感的感值和Q值计算公式

单端电感和差分电感的感值和Q值计算公式

乾巽的博客 1万+

openCV (c++)

opencv c++ 配置

zeven_yun的博客 1万+

Microchip Studio 7.0 从下载到项目调试:AVR开发者的完整入门指南(附常见问题解决)

本文为AVR开发者提供了Microchip Studio 7.0从下载安装到项目调试的完整入门指南。详细介绍了如何获取安装包、创建第一个AVR工程项目,并配置编译与调试环境。同时,文章重点解决了开发过程中常见的编译错误和仿真问题,帮助开发者快速上手并高效使用这一官方集成开发环境。

joy55的博客 335

国产谷歌地球,地形分析秒杀同款地图软件

咱们做地质、林业、水文、水利、电力、GIS、地图、水保、环境的,需要经常用到各种数据,比如影像、地形、矢量、模型等,但目前80%的规划大数据展示都离不开ArcGIS,令人头大的是很多朋友连ArcGIS软件安装起来都费劲。。。 那不会ArcGIS又装不了Google Earth怎么开展工作? 今天推荐大家一款国产免费专业地图浏览下载测量分析神器—图新地球 图新地球,国产三维gis软件。可以查看高清卫星影像地形以及其他很多常用电子地图,对地图需求的掌握远胜过Google Maps,而且上手比国外软件要简单

GISWorld3D的博客 3685

OpenCV 3 boxPoints()

OpenCV 3 boxPoints() OpenCV documentation index - OpenCV 文档索引 https://www.docs.opencv.org/ master (4.x) https://www.docs.opencv.org/master/ 3.4 (3.4.x) https://www.docs.opencv.org/3.4/ 2.4 (2.4.x) https://www.docs.opencv.org/2.4/ 1. 3.4 (3.4.x) -> Modu

程永强 1万+

基于YOLOv8的农作物病虫害检测系统设计与实现

国内如中国农业大学的科研团队采用改进的Faster R-CNN模型对小麦病害进行检测,取得了较好的效果。农作物病虫害是影响农业生产的重要因素之一,每年因病虫害导致的农作物减产高达20%-40%。YOLO(You Only Look Once)系列算法作为目标检测领域的代表性模型,以其高效、准确的特点在众多领域得到广泛应用。YOLOv8作为该系列的最新版本,在精度和速度上都有显著提升,非常适合农作物病虫害检测这类需要实时处理的应用场景。然而,现有研究仍存在一些不足:一是模型复杂度高,难以部署到移动设备;

YOLO 794

OpenCV 功能函数介绍

用于对图像进行二值化处理。

h1413517383的博客 1464

RK3576 USB3.0 DWC3控制器调试:PHY初始化失败排查指南

DWC3 是 Synopsys 公司推出的 USB3.0/3.1 控制器 IP,支持双角色(DRD)模式,可配置为 Host、Device 或 OTG。

小灰灰的博客 1180

鸿蒙开发之hdc命令行

hdc(HarmonyOS Device Connector)是HarmonyOS为开发人员提供的用于调试的命令行工具,通过该工具可以在windows/linux/mac系统上与真实设备进行交互。

xiangzhihong8的专栏 5830

Opencv函数功能

1、cvLoadImage:将图像文件加载至内存;  2、cvNamedWindow:在屏幕上创建一个窗口; 3、cvShowImage:在一个已创建好的窗口中显示图像;  4、cvWaitKey:使程序暂停,等待用户触发一个按键操作; 5、cvReleaseImage:释放图像文件所分配的内存;  6、cvDestroyWindow:销毁显示图像文件的窗口;  7、cvCreateF

cesc_stone的专栏 791

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

openCV功能函数

学习资料

sjn2212297386的博客 2126

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

opencv 文件 函数功能

cv------opencv的核心函数所在的头文件,所以opencv调用都要用到这个头文件。 cvaux – 辅助函数库 cxcore – 数据结构与线性代数库 highgui – GUI函数库 graphical user interface ml – 机器学习函数库 machine learing

yesheng1989 486

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

利用OpenCV findNonZero函数实现类似matlab中find函数的功能

OpenCV和matlab都提供了强大的矩阵处理功能。但matlab也有一些功能是openCV不具备的。如find函数,可以找出矩阵中某个特定值的行列号。本文介绍一种方法,可以模拟find函数的功能。 // OpenCVFind.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include #include #includ

liji_digital的博客 9567

OpenCV 功能函数介绍 (二)

用于计算图像梯度(gradient)的函数。

h1413517383的博客 2701

OpenCV图像文件读写(2) 检查 OpenCV 是否支持某种图像格式的写入功能函数haveImageWriter()的使用

haveImageWriter 函数用于检查 OpenCV 是否支持某种图像格式的写入功能。这个函数可以帮助开发者在编写代码时确定是否可以成功地将图像写入特定格式的文件中。

jndingxin的专栏 893

matlab find函数找出非0,利用OpenCV findNonZero函数实现类似matlab中find函数的功能

OpenCV和matlab都提供了强大的矩阵处理功能。但matlab也有一些功能是openCV不具备的。如find函数,可以找出矩阵中某个特定值的行列号。本文介绍一种方法,可以模拟find函数的功能。// OpenCVFind.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include #include using nam...

weixin_33453301的博客 885

自己收集或写的一些opencv常用的但是库函数中没有的小功能

有些是在csdn或网上收集的,在这里做一个整理主要的功能有。

qq_43124103的博客 331

OpenCV_常用图像处理函数与功能注释

1、cvLoadImage:将图像文件加载至内存;   2、cvNamedWindow:在屏幕上创建一个窗口;   3、cvShowImage:在一个已创建好的窗口中显示图像;   4、cvWaitKey:使程序暂停,等待用户触发一个按键操作;   5、cvReleaseImage:释放图像文件所分配的内存;   6、cvDestroyWindow:销毁显示图像文件的

xiao_lxl的专栏 1666

opencv threshold函数_新视界-OpenCV教程(21)- 轮廓:更多功能

新视界-OpenCV教程系列文章 新视界-OpenCV教程(1)-入门介绍OpenCV 中的图形用户界面特征系列新视界-OpenCV教程(2)-图片入门新视界-OpenCV教程(3)-视频入门新视界-OpenCV教程(4)- 绘图功能新视界-OpenCV教程(5)- 鼠标的画笔功能新视界-OpenCV教程(6)- 作为调色板的轨迹栏核心操作系列新视界-OpenCV教程(7)- 对图片的基本操作新视...

weixin_36044132的博客 163
上一篇: git快速入门(五)远程仓库以及如何使用github
下一篇: win10 matlab7 runtimeError解决方
alickr
博客等级 码龄12年 44粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值