opencv之图像腐蚀

时间:2022-09-26 22:24:27

最近准备好好学习opencv 这博客就是我的学习笔记。

#include <cv.h>
#include <highgui.h> using namespace std; void main()
{
IplImage *src=cvCreateImage(cvSize(11,10),8,1);
IplImage *dst=cvCreateImage(cvGetSize(src),8,1); cvZero(src);
cvZero(dst); int x,y;
for (y=1;y<4;y++)
{
for (x=6;x<10;x++)
{
cvSetReal2D(src,y,x,255);
}
} for (y=4;y<6;y++)
{
for (x=4;x<8;x++)
{
cvSetReal2D(src,y,x,255);
}
}
for (y=7;y<9;y++)
{
for (x=1;x<5;x++)
{
cvSetReal2D(src,y,x,255);
}
}
printf("SRC:"); for (y=0;y<src->height;y++)
{
for (x=0;x<src->width;x++)
{
float value=cvGetReal2D(src,y,x);
printf("%3d ",(int)value);
}
printf("\n");
}
IplConvKernel*element=0;
int values[16]={0,0,0,0,
0,0,1,0,
0,1,1,0,
0,0,0,0
} ;
int cols=4,rows=4,ancher_x=2,ancher_y=2;
element=cvCreateStructuringElementEx(cols,rows,ancher_x,ancher_y,CV_SHAPE_CUSTOM,values);
cvErode(src,dst,element,1);
printf("DST:"); for (y=0;y<src->height;y++)
{
for (x=0;x<src->width;x++)
{
float value=cvGetReal2D(dst,y,x);
printf("%3d ",(int)value);
}
printf("\n");
}
}

  

opencv之图像腐蚀的更多相关文章

  1. Java基于opencv实现图像数字识别&lpar;五&rpar;—腐蚀、膨胀处理

    腐蚀:去除图像表面像素,将图像逐步缩小,以达到消去点状图像的效果:作用就是将图像边缘的毛刺剔除掉 膨胀:将图像表面不断扩散以达到去除小孔的效果:作用就是将目标的边缘或者是内部的坑填掉 使用相同次数的腐 ...

  2. Java基于opencv实现图像数字识别&lpar;二&rpar;—基本流程

    Java基于opencv实现图像数字识别(二)-基本流程 做一个项目之前呢,我们应该有一个总体把握,或者是进度条:来一步步的督促着我们来完成这个项目,在我们正式开始前呢,我们先讨论下流程. 我做的主要 ...

  3. OpenCV中图像算术操作与逻辑操作

    OpenCV中图像算术操作与逻辑操作 在图像处理中有两类最重要的基础操作各自是图像点操作与块操作.简单点说图像点操作就是图像每一个像素点的相关逻辑与几何运算.块操作最常见就是基于卷积算子的各种操作.实 ...

  4. opencv对图像进行边缘及角点检測

    opencv对图像进行边缘及角点检測 先看结果: 代码: // ConsoleApplication1_812.cpp : Defines the entry point for the consol ...

  5. OpenCV 图象腐蚀形态学操作 全家桶

    图象腐蚀与形态学操作 opencv 1. 通过调用库函数实现图像的腐蚀.膨胀: 2. 通过设置结构元素.元素大小.形态学操作类型实现对图象的形态学操作. 源码(VS2017+OpenCV 4.0) # ...

  6. Java基于opencv实现图像数字识别&lpar;五&rpar;—投影法分割字符

    Java基于opencv实现图像数字识别(五)-投影法分割字符 水平投影法 1.水平投影法就是先用一个数组统计出图像每行黑色像素点的个数(二值化的图像): 2.选出一个最优的阀值,根据比这个阀值大或小 ...

  7. Java基于opencv实现图像数字识别&lpar;四&rpar;—图像降噪

    Java基于opencv实现图像数字识别(四)-图像降噪 我们每一步的工作都是基于前一步的,我们先把我们前面的几个函数封装成一个工具类,以后我们所有的函数都基于这个工具类 这个工具类呢,就一个成员变量 ...

  8. Java基于opencv实现图像数字识别&lpar;三&rpar;—灰度化和二值化

    Java基于opencv实现图像数字识别(三)-灰度化和二值化 一.灰度化 灰度化:在RGB模型中,如果R=G=B时,则彩色表示灰度颜色,其中R=G=B的值叫灰度值:因此,灰度图像每个像素点只需一个字 ...

  9. 利用OpenCV给图像添加中文标注

    利用OpenCV给图像添加中文标注 : 参考:http://blog.sina.com.cn/s/blog_6bbd2dd101012dbh.html  和https://blog.csdn.net/ ...

随机推荐

  1. 在oracle中,如何当前系统时间往前推7天

    ' day from dual 另附: 当前时间减去7分钟的时间 ' MINUTE from dual 当前时间减去7小时的时间 ' hour from dual 当前时间减去7天的时间 ' day ...

  2. centos7下搭建nginx&plus;php7&period;1&plus;mariadb&plus;memcached&plus;redis

    一.环境准备 1.首先介绍一下环境,以及我们今天的主角们 我用的环境是最小化安装的centos7,mariadb(江湖传言mysql被oracle收购后,人们担心像java一样毁在oracle手上于是 ...

  3. 【JavaScript】固定布局轮播图特效

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. &lbrack;HDOJ5726&rsqb;GCD(RMQ,二分)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5726 题意:给定数列,求区间[L,R]的GCD的值,并求出有多少个子区间满足和[L,R]的GCD相等. ...

  5. Android 使用剪切板传递数据

    使用剪切板传递数据,可以传递简单的数据,也可以传递可序列化的对象. 首先来个简单点吧. 首先在,mainActivity.xml文件中加入一个button按钮 private Button butto ...

  6. 使用cocoapods管理第三方类库

    前言 在iOS项目中使用第三方类库可以说是非常常见的事,但是要正确地配置他们有时候是非常繁琐的事情,幸运的是CocoaPods是一个很好的解决方案. 什么是CocoaPods CocoaPods是OS ...

  7. BZOJ 3315&colon; &lbrack;Usaco2013 Nov&rsqb;Pogo-Cow&lpar; dp &rpar;

    我真想吐槽USACO的数据弱..= = O(n^3)都能A....上面一个是O(n²), 一个是O(n^3) O(n^3)做法, 先排序, dp(i, j) = max{ dp(j, p) } + w ...

  8. 简易RPC框架-心跳与重连机制

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  9. 史上最大的CPU Bug(幽灵和熔断的OS&amp&semi;SQLServer补丁)

    背景 最近针对我们的处理器出现了一系列的严重的bug.这种bug导致了两个情况,就是熔断和幽灵. 这就是这几天闹得人心惶惶的CPU大Bug.消息显示,以英特尔处理器为代表的现代CPU中,存在可以导致数 ...

  10. K-邻近算法简单例子

    from numpy import * import operator import matplotlib.pyplot as plt def creatDataset(): group = arra ...