测试图片:

代码:

#include "stdafx.h"
#include <cv.h>
#include <highgui.h>
int _tmain(int argc, _TCHAR* argv[])
{IplImage * pImg=cvLoadImage("c://test.jpg",0);cvNamedWindow("ShowImage",1);cvNamedWindow("result",1);cvNamedWindow("result_h",1);CvScalar s,t;cvSmooth( pImg, pImg, CV_BLUR, 3, 3, 0, 0 );cvThreshold( pImg, pImg ,50, 255, CV_THRESH_BINARY_INV ); //取阀值为50把图像转为二值图像int* v=new int[pImg->width];int* h=new int[pImg->height];for(int i=0;i<pImg->width;i++)v[i]=0;for(int i=0;i<pImg->height;i++)h[i]=0;for(int x=0;x<pImg->width;x++){for(int y=0;y<pImg->height;y++){s=cvGet2D(pImg,y,x);///t=cvGet2D(paint,y,x);if(s.val[0]==0)v[x]++;//cvSet2D(paint,y,x,t);}}for(int y=0;y<pImg->height;y++){for(int x=0;x<pImg->width;x++){s=cvGet2D(pImg,y,x);///t=cvGet2D(paint,y,x);if(s.val[0]==0)h[y]++;}}IplImage* paint=cvCreateImage( cvGetSize(pImg),IPL_DEPTH_8U, 1 );IplImage* painty=cvCreateImage( cvGetSize(pImg),IPL_DEPTH_8U, 1 );cvZero(paint);cvZero(painty);for(int x=0;x<pImg->width;x++){for(int y=0;y<v[x];y++){t=cvGet2D(paint,y,x);//s=cvGet2D(paint,y,x);///t=cvGet2D(paint,y,x);t.val[0]=255;cvSet2D(paint,y,x,t);}}//----------h------------for(int y=0;y<pImg->height;y++){for(int x=0;x<h[y];x++){t=cvGet2D(painty,y,x);//s=cvGet2D(paint,y,x);///t=cvGet2D(paint,y,x);t.val[0]=255;cvSet2D(painty,y,x,t);}}cvShowImage("result",paint);cvSaveImage("c://tou.jpg",paint);cvShowImage("result_h",painty);cvShowImage("ShowImage",pImg);cvWaitKey(0);cvDestroyWindow("ShowImage");return 0;
}

图像的水平与垂直积分投影相关推荐

  1. opencv学习---计算图像的水平积分投影和垂直积分投影

    opencv学习---计算图像的水平积分投影和垂直积分投影 标签: opencv水平积分投影垂直积分投影 2016-12-07 18:48 1806人阅读 评论(1) 收藏 举报 分类: opencv ...

  2. 使用Python、OpenCV翻转图像(水平、垂直、水平垂直翻转)

    使用Python.OpenCV翻转图像(水平.垂直.水平垂直翻转) 1. 效果图 2. 源码 参考 这篇博客将介绍如何使用Python.OpenCV翻转图像,类似于cv2.rotate(). 沿y轴水 ...

  3. 用MATLAB对图形进行水平和垂直灰度投影

    水平灰度投影是指二维图像按列向x轴方向投影: 垂直灰度投影是指二维图象按行向y轴方向投影: 投影的结果可以看成是一维图像(一维数组) MATLAB代码如下: clear all clc %--- 从任 ...

  4. halcon灰度积分投影/垂直积分投影

    简介:关于灰度投影积分可以用到的场合很多,例如分割字符,分割尺子上的刻度等,适用于有规律的变化这些内容的检测.本文复现了论文<基于深度学习和灰度纹理特征的铁路接触网绝缘子状态检测>中灰度积 ...

  5. 利用OpenCV计算图像的垂直和水平积分投影

    转自:http://blog.csdn.net/quarryman/article/details/6427886 说明:本文的代码改编自longlongago2000的一篇博文,这是它的链接:htt ...

  6. MATLAB:图像水平、垂直、水平垂直镜像、转置、旋转变换

    1.原图像经水平.垂直.水平垂直镜像设置通过mirror函数实现: close all; %关闭当前所有图形窗口,清空工作空间变量,清除工作空间所有变量 clear all; clc; I=imrea ...

  7. 利用sobel算子提取图像的水平特征和竖直特征

    一. sobel滤波器介绍 sobel滤波器常用来提取灰度图像的水平边缘(水平特征)和竖直边缘(竖直特征) 二. sobel算子    纵向算子,提取图像水平边缘 ↑ 横向算子,提取图像竖直边缘 ↑ ...

  8. opencv计算图像的水平投影和垂直投影

    本文介绍使用opencv实现计算一幅图像的水平投影和垂直投影,代码如下: class HorizontalProjection { private:int maxLine;//255最大行位置int ...

  9. C++ opencv计算图像的水平投影,并返回一幅图像

    效果图 输入图像 输出图像 代码 //计算图像的水平投影,并返回一幅图像 cv::Mat getVerProjImage(const cv::Mat &image) {cv::Mat matT ...

最新文章

  1. 银联配置 linux 路径,深圳银联POS支付系统安装手册(LinuxMySQL).doc
  2. 纳税服务系统十一【抽取BaseService、条件查询】
  3. 测试缺陷分析务实篇-转
  4. 【NLP-词向量】词向量的由来及本质
  5. 程序基础:数据结构(郝斌讲解)(一)
  6. QT学习:图形视图Graphics View
  7. 《深入理解Nginx:模块开发与架构解析》一1.6 Nginx的命令行控制
  8. 【动态规划】多重背包问题:P1077摆花
  9. 如何新浪微博html5,新浪微博接入Html5游戏 注重轻量碎片化
  10. 绕过360实现lsass转储
  11. 华硕飞行堡垒7按Fn+F5电脑显示屏不显示风扇模式
  12. 游戏开发19课 tilemap 创建瓦片
  13. String为什么要设计成final
  14. NIST的安全内容自动化协议(SCAP)以及SCAP中文社区简介
  15. String如何截取字符串长度
  16. cp: -r not specified; omitting directory '/usr/local/'
  17. matlab画柱形图
  18. Powershell 过火绒免杀上线
  19. linux .gz文件 解压缩命令的简单使用
  20. STM32F4_定时器输入捕获详解

热门文章

  1. NEO改进协议提案1(NEP-1)
  2. M101 Homework 2.2
  3. 建设数字化车间的主线有哪些
  4. 【PCB专题】Allegro如何导入网表
  5. Fikker 自建CDN的安装说明
  6. HTML网页表单学习(全方面详解)
  7. google analytics简单总结
  8. Python小实例之欢度国庆
  9. 万字多图 | UML 入门指南
  10. Spring Boot实战【上】