opencv基本图像操作
// Basic_OpenCV_2.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h"
#include <iostream>
#include "cv.h"
#include "highgui.h" using namespace std; void SmoothImage(IplImage* image)//平滑函数
{
cvNamedWindow("Smooth_in");
cvNamedWindow("Smooth_out");
cvShowImage("Smooth_in",image); IplImage* out = cvCreateImage(cvGetSize(image),IPL_DEPTH_8U,3);
cvSmooth(image,out,CV_BLUR,32,32);//平滑函数,后面两个参数是窗口大小
cvShowImage("Smooth_out",out); cvReleaseImage(&out); cvWaitKey(0);
cvDestroyAllWindows();
} void doPyrDown(IplImage* in, int filter = IPL_GAUSSIAN_5x5)//图像缩小为一半
{
//Best to make sure input image is divisible by two.
assert(in->width%2 == 0 && in->height%2 == 0);
IplImage* out = cvCreateImage(cvSize(in->width/2 , in->height/2) , in->depth , in->nChannels);
cvPyrDown(in , out); cvNamedWindow("PyrDown_out");
cvShowImage("PyrDown_out",out);
cvReleaseImage(&out); cvWaitKey(0);
cvDestroyAllWindows();
//return out; } void doCanny(IplImage* in , double lowThresh , double highThresh , double aperture)
{
IplImage* out = cvCreateImage(cvSize(in->width,in->height) , IPL_DEPTH_8U , 1);
if(in->nChannels != 1)
{
//cout<<"error! unsupported format or combination of formats() in unknown function"<<endl;
//return;//canny only handles gray scale image //若不是灰度图,直接转化成灰度图
IplImage* gray = cvCreateImage(cvGetSize(in), IPL_DEPTH_8U, 1);
cvCvtColor(in, gray, CV_BGR2GRAY);
out = gray;
} cvCanny(in , out , lowThresh , highThresh , aperture ); cvNamedWindow("Canny_out");
cvShowImage("Canny_out",out);
cvReleaseImage(&out); cvWaitKey(0);
cvDestroyAllWindows(); } int _tmain(int argc, _TCHAR* argv[])
{
IplImage* image = cvLoadImage("lena.jpg");
//SmoothImage(image);
//doPyrDown(image);
doCanny(image ,10 , 100 , 3 ); system("pause");
return 0;
}
opencv基本图像操作的更多相关文章
- openCV - 4. 图像操作
读写图像.读写像素.修改像素值 读写图像 imread 可以指定加载为灰度或者RGB图像 Imwrite 保存图像文件,类型由扩展名决定 读写像素 读一个GRAY像素点的像素值(CV_8UC1) Sc ...
- Opencv中图像的遍历与像素操作
Opencv中图像的遍历与像素操作 OpenCV中表示图像的数据结构是cv::Mat,Mat对象本质上是一个由数值组成的矩阵.矩阵的每一个元素代表一个像素,对于灰度图像,像素是由8位无符号数来表示(0 ...
- python进阶—OpenCV之常用图像操作函数说明(转)
文章目录cv2.thresholdcv2.bitwise_andcv2.bitwise_orcv2.bitwise_notcv2.inRangecv2.resizecv2.adaptiveThresh ...
- 使用OpenCV读、操作、写图像并与bash合作对某个目录下所有图像进行类似处理
我门要对某个目录下所有图像文件进行统一处理,如果图像的数量过多,那么手动地一张张处理就会显得有些麻烦.本文使用OpenCV和bash来完成我们指定的任务. 任务 将目录A下的所有统一格式的jpg图像变 ...
- 使用OpenCV读、操作、写图像并与bash合作对某个文件夹下全部图像进行相似处理
我门要对某个文件夹下全部图像文件进行统一处理,假设图像的数量过多.那么手动地一张张处理就会显得有些麻烦.本文使用OpenCV和bash来完毕我们指定的任务. 任务 将文件夹A下的全部统一格式的jpg图 ...
- Python用Pillow(PIL)进行简单的图像操作
Python用Pillow(PIL)进行简单的图像操作 颜色与RGBA值 计算机通常将图像表示为RGB值,或者再加上alpha值(通透度,透明度),称为RGBA值.在Pillow中,RGBA的值表示为 ...
- Java基于opencv实现图像数字识别(一)
Java基于opencv实现图像数字识别(一) 最近分到了一个任务,要做数字识别,我分配到的任务是把数字一个个的分开:当时一脸懵逼,直接百度java如何分割图片中的数字,然后就百度到了用Buffere ...
- 学习笔记TF015:加载图像、图像格式、图像操作、颜色
TensorFlow支持JPG.PNG图像格式,RGB.RGBA颜色空间.图像用与图像尺寸相同(height*width*chnanel)张量表示.通道表示为包含每个通道颜色数量标量秩1张量.图像所有 ...
- OpenCV中图像算术操作与逻辑操作
OpenCV中图像算术操作与逻辑操作 在图像处理中有两类最重要的基础操作各自是图像点操作与块操作.简单点说图像点操作就是图像每一个像素点的相关逻辑与几何运算.块操作最常见就是基于卷积算子的各种操作.实 ...
随机推荐
- Android初级教程:如何自定义一个状态选择器
有这样一种场景:点击一下某个按钮或者图片(view),改变了样式(一般改变背景颜色).这个时候一种解决方案,可能就是状态选择器.接下来就介绍如何实现状态选择器: 步骤: 一.新建这样的文件夹:res/ ...
- 学习TensorFlow,多层卷积神经网络
一.网络结构 二.代码 from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_ ...
- JAVA之旅(二十六)——装饰设计模式,继承和装饰的区别,LineNumberReader,自定义LineNumberReader,字节流读取操作,I/O复制图片
JAVA之旅(二十六)--装饰设计模式,继承和装饰的区别,LineNumberReader,自定义LineNumberReader,字节流读取操作,I/O复制图片 一.装饰设计模式 其实我们自定义re ...
- Android 震动马达系统
Android之 看"马达"如何贯通Android系统 (从硬件设计 --> 驱动 --> HAL --> JNI --> Framework --> ...
- inline内联函数
demo //带参数的宏 #define MYFUNC(a, b) ((a) < (b) ? (a) : (b)) inline int myfunc(int a, int b) { retur ...
- Windows Server2012R2 添加Microsoft .NET Framework 3.5 功能失败的解决方法
最近部署了一台Windows Server2012R2的虚机,在安装sharepoint foundation 2013之前安装必备的组件的时候安装到一半报错了没有安装成功,后来发现原来是系统的.NE ...
- 一个CSS+jQuery的放大缩小动画效果
日期: 2013年9月23日 作者:铁锚 // 今天帮朋友写了一些代码,自己觉得写着写着,好几个版本以后,有点满意,于是就贴出来. // 都是定死了的.因为需求就只有4个元素.如果是要用CSS的cla ...
- maven中去掉单元测试的配置
如果是在命令行中去掉测试,可以在命令行中输入:mvn install -Dmaven.test.skip=true 在pom.xml <plugins> <plugin& ...
- 08_Android中的SimpleAdapter的使用
1 目的界面 2.编写Android清单文件 <?xml version="1.0" encoding="utf-8"?> <manif ...
- (NO.00002)iOS游戏精灵战争雏形(四)
在Xcode打开MainScene,添加初始化代码如下: -(void)didLoadFromCCB{ NSAssert(_sprite1, @"_sprite1 must not nil& ...