DIP 准备工作

工具:VS2010+OpenCV2.4.11

读入图片,并按点处理 没个像素点灰度级加1

代码:

 1 #include <opencv2\opencv.hpp>
 2 #include <iostream>
 3 #include <string>
 4 using namespace cv;
 5 using namespace std;
 6 int main()
 7 {
 8     IplImage* img; //声明IplImage指针
 9     //载入图像
10     img = cvLoadImage("C://Users//Administrator//Desktop//dip//pp.png",0) ;
11
12     cvNamedWindow( "Image1", 1 );//创建窗口
13     cvShowImage( "Image1", img );//显示图像
14
15     for(int row = 0; row<img->height; row++)
16     {
17         for (int col=0; col<img->width; col++)
18         {
19             if((unsigned char)(img->imageData[row*img->widthStep+col])!=255)
20                 img->imageData[row*img->widthStep+col] +=10;
21         }
22     }
23
24         cvNamedWindow( "Image", 1 );//创建窗口
25         cvShowImage( "Image", img );//显示图像
26         cvWaitKey(0); //等待按键
27
28         cvDestroyWindow( "Image" );//销毁窗口
29         cvDestroyWindow( "Image1" );//销毁窗口
30         cvReleaseImage( &img ); //释放图像
31         return 0;
32 }

结果:

代码中的注意点:

1.第19行的强制类型转换是因为默认的ImageData类型为char,也就是从-127~128,如果不转换原图的全白区域会变成全黑:

2.依然第19行,中括号中的内容是遍历到的像素点,之所用乘的是widthstep而不是width,是因为图像的存储 是以4的倍数进行的,也就是行末会有不存放像素灰度值的空余。

时间: 2024-07-30 20:30:33

DIP 准备工作的相关文章

Kinect 开发 &mdash;&mdash; 开发前的准备工作

Kinect SDK v1.5 支持托管语言和非托管语言 Xbox360的游戏是基于Xbox360开发工具包 (XDK)开发的,Xbox 360和Windows是两个完全不同的系统架构.使用Kinect for windows SDK 编译的代码并不能直接部署到Xbox环境中 Kinect 应用程序必须在一个原生操作系统环境下编译,运行 -- 无法在虚拟机上运行 Kinect 开发 —— 开发前的准备工作,布布扣,bubuko.com

VCSA 6.5 HA配置 之三 :准备工作

接着上一篇文章部署完成VCSA 6.5后,还需要做一些准备工作才能开启高可用功能,本篇文章主要就讲述如何为vCenter 高可用进行准备工作 配置vCenter HA网络 从vCenter HA的架构图中可以看出对于vCenter HA的高可用需要一个专用的HA网络 并且该网络必须与管理网络位于不同的子网.HA网络可以理解为群集中的心跳网络. 因为本存放VCSA的环境中采用的是VDS,所以专门创建一个用于vCenter HA的端口组.并且设置相应的VLAN(该VLAN和管理网络不同) 接下来将在

android应用开发之View的大小计量单位(px、dpi、dp、dip、sp)

http://blog.csdn.net/ljianhui/article/details/43601495?ref=myread 一.像素(px)与屏幕分辨率 1)px(Pixels ,像素):对应屏幕上的实际像素点.例如,320*480的屏幕在横向有320个象素,在纵向有480个象素. 2)屏幕分辨率就是在屏幕上显示的物理像素总和,它等于屏幕的宽度上的像素*高度上的像素.在Android应用程序的开发上,不会使用屏幕分辨率. 3)屏幕分辨率虽然是宽*高,但是它与屏幕的大小没有关系,它与一个屏

.net之微信企业号开发(一) 所使用的环境与工具以及准备工作

前言 一直以来,从事的是.net winform的编程,虽然对移动互联这块很感兴趣,但是由于现有的工作和移动互联之间隔的太远,也就没有时间和精力好好的去研究和实现.今年年初辞职了,刚好朋友那里希望建立一套新的网点销售管理系统,将原有的PC中的一些东西,移植到手机终端来.于是我接受了这个任务,除了给他们搭建新系统外,也慢慢的接触到了移动互联应用,开始了我的移动互联征程. 由于WEB应用本身的局限性,同时自身也不具备多个平台开发APP的精力和实力.我选择了微信的企业号开发.对于微信这样一个普及很广的

通过迁移的方式解决Active Directory服务器问题之1-迁移前的准备工作

前言 "重装是最好.最快的解决方法".在使用Windows操作系统一段时间之后,尤其是经常频繁打补丁.升级.添加删除软件后,系统会比较慢,有的可能会出现一些"莫名其妙"的问题,这个时候,果断备份.重装.恢复系统,是我们经常做的方法.但是,企业网络中的服务器,如果使用几年之后出问题,你能下定决心重装吗?如果重装,怎么重装才能不丢失数据.在重装过程中不影响使用.本文通过一个具体的案例,介绍通过迁移的方法彻底解决Active Directory服务器存在问题的方法. 正文

Skype for Business Server 2015系列(一)概述和准备工作

对于Lync,相信熟悉微软产品的小伙伴都比较了解了,作为微软旗下的即时通讯软件,面向企业用户,全球500强中的70%都在使用Lync.在今年4月份的时候,微软将 Lync 更名为 Skype for Business,作为 Office 2013 四月更新的一部分,正式开始推送.微软称Skype for Business将集合 Skype 和Lync的优势(如Skype界面熟悉感和Lync企业级功能)界面和图标更像Skype,提供了全新的客户端体验. 作为服务器端的Skype for Busin

对依赖倒置原则(DIP)及Ioc、DI、Ioc容器的一些理解

.概述 所谓依赖倒置原则(Dependence Inversion Principle)就是要依赖于抽象,不要依赖于具体.简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合,并由此引申出IoC.DI以及Ioc容器等概念. 2.意图 面向过程的开发,上层调用下层,上层依赖于下层,当下层剧烈变动时上层也要跟着变动,这就会导致模块的复用性降低而且大大提高了开发的成本. 面向对象的开发很好的解决了这个问题,一般情况下抽象的变化概率很小,让用户程序依赖于抽象,实现的细节

dpi 、 dip 、分辨率、屏幕尺寸、px、density 关系以及换算

一.基本概念 dip        : Density independent pixels ,设备无关像素. dp        :就是dip px        : 像素 dpi       :dots per inch , 直接来说就是一英寸多少个像素点.常见取值 120,160,240.我一般称作像素密度,简称密度 density : 直接翻译的话貌似叫 密度.常见取值 1.5 , 1.0 .和标准dpi的比例(160px/inc) 分辨率   : 横纵2个方向的像素点的数量,常见取值

深入理解DIP、IoC、DI以及IoC容器

摘要 面向对象设计(OOD)有助于我们开发出高性能.易扩展以及易复用的程序.其中,OOD有一个重要的思想那就是依赖倒置原则(DIP),并由此引申出IoC.DI以及Ioc容器等概念.通过本文我们将一起学习这些概念,并理清他们之间微妙的关系. 目录 前言 依赖倒置原则(DIP) 控制反转(IoC) 依赖注入(DI) IoC容器 总结 前言 对于大部分小菜来说,当听到大牛们高谈DIP.IoC.DI以及IoC容器等名词时,有没有瞬间石化的感觉?其实,这些"高大上"的名词,理解起来也并不是那么的