数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。常用的图像处理方法有图像增强、复原、编码、压缩等,数字图像处理应用领域非常广泛。具体关于数字图像处理的介绍可以参考书籍《冈萨雷斯 数字图像处理》。
TWaver作为可视化的利器,如果在展示网元的时候,融入图像处理技术,将会对网元图标的显示增加了灵活性,是一件非常有意思的事情。那么我们不妨来试试,如何将图像处理技术融入进来。
首先我们重写一个网元CNode,定制用来处理图像的特殊网元。

public class CNode extends Node{
public function CNode(id:Object = null){
super(id);
}
override public function get elementUIClass():Class{
return CNodeUI;
}
}


public class CNodeUI extends NodeUI{
private var currentImageAsset:IImageAsset = null;
private var currentComponent:DisplayObject = null;
public function CNodeUI(network:Network, node:Node){
super(network,node);
}

override protected function drawDefaultContent(graphics:Graphics):void{
//此处处理图像,并绘制图像
}
}

这样一个在TWaver中处理图像的框架就搭建完成了,只要在上面的drawDefaultContent方法中对图像处理并返回绘制,即可实现图像的处理。
那么我们先来看看图像的常见处理方法,在此说明,选择一张美女图片作为图像处理的素材。
1.图像二值化:将图像视为二维数组,遍历二维数组,并处理单个像素的值。实现灰度化,需要定义一个颜色(或灰度值)阈值,将图像中灰度值按照阈值分开。

private function doBinary(bd:BitmapData):BitmapData {
var rect:Rectangle = bd.rect;
for(var i:int=rect.x; i<rect.x+rect.width;i++) {
for(var j:int=rect.y; j<rect.y+rect.height;j++) {
var color:uint = bd.getPixel(i,j);
if(color>0x605555){
bd.setPixel(i,j,0xffffff);
}else{
bd.setPixel(i,j,0x00000);
}
}
}
return bd;
}

效果如下:

2.图像灰度化
灰度化的计算公式如下:Gary(i,j)=0.299*R(i,j)+0.587*G(i,j)+0.114*B(i,j);

private function doGray(bd:BitmapData):BitmapData {
var rect:Rectangle = bd.rect;
for(var i:int=rect.x; i<rect.x+rect.width;i++) {<br=""> for(var j:int=rect.y; j<rect.y+rect.height;j++) {<br=""> var color = bd.getPixel(i,j);
var rgb:Array = ColorUtils.CombinationToRGB(color);
var gray = (int)(rgb[0] * 0.299 + rgb[1] * 0.587 + rgb[2] * 0.114);
bd.setPixel(i,j,ColorUtils.RGBToCombination([gray,gray,gray]));
}
}
return bd;
}


3.图像旋转

private function doRotate(bd:BitmapData):BitmapData{
var rect:Rectangle = bd.rect;
var m:Matrix = new Matrix();
m.rotate(Math.PI/3);
m.translate(rect.height,0);
var bmp:BitmapData = new BitmapData(bd.height, bd.width,false);
bmp.draw(bd,m);
return bmp;
}

图像旋转60度

图像先二值化,再旋转60度

图像处理的算法很多,在这先抛砖引玉,后面可以支持更新比较复杂的图像处理结果。
有人会问,这样处理有什么意义呢,具有什么实际应用价值吗?
答案是肯定的,任何一种技术,只要用对了地方,就会体现它的价值,那么图像处理技术与TWaver相结合能擦出什么火花呢?
看下面的demo。
在网元发生告警的时候,TWaver传统方法是通过混合网元图片颜色和告警颜色,得到效果如下:

那么使用图像处理技术可以得到这样的渲染结果:

怎么样,效果还不错吧,需要抓紧联系我们吧,邮件:jeff.fu@servasoft.com

转载于:https://www.cnblogs.com/twaver/p/4432031.html

数字图像处理技术在TWaver可视化中的应用相关推荐

  1. 数字孪生制造:数字孪生技术在制造业可视化中的实践与挑战

    文章目录 数字孪生制造:数字孪生技术在制造业可视化中的实践与挑战 1. 引言 2. 技术原理及概念 2.1. 基本概念解释 2.2. 技术原理介绍:算法原理,操作步骤,数学公式等 一.数字孪生技术的核 ...

  2. 计算机在医学影像中的应用,计算机图像处理技术在医学影像中的进展与应用研究...

    计算机图像处理技术在医学影像中的进展与应用研究 摘 要:现在是网络时代,受网络快速发展的影响,也推动医疗行业的革新发展,为医院医疗检测提供了方便.计算机图像处理技术在医学领域应用广泛,医院里现代化的医 ...

  3. 计算机在水产养殖学中的应用,计算机图像处理技术在水产养殖业中的应用

    摘  要: 利用计算机图像处理技术在水产养殖业中实现对鱼类生长的监控. 关键词: 数字图像处理  水产养殖  Matlab 近年来,随着经济的发展及人们生活水平的日益提高,对水产品需求量也越来越大.因 ...

  4. 计算机在医学影像中的应用,计算机图像处理技术在医学影像中的进展与应用

    计算机图像处理技术在医学影像中的进展与应用 (4页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 4.9 积分 生物医学工程学杂志 J . Biou led ...

  5. 用计算机处理图像属于啥技术,计算机图像处理技术在网页设计中的应用

    谭昊琳 摘要:网页设计中图像的处理越来越重要.网页设计中的图像计算机处理进行了概念的介绍,对计算机图像处理的重要性也进行了分析.为了给网页设计中的图像处理更好,提高浏览量,提出了网页设计中的计算机图像 ...

  6. 计算机在航空航天的应用ppt,数字图像处理技术的应用_北京航空航天大学:数字图像处理技术的应用_ppt_大学课件预览_高等教育资讯网...

    数字图像处理技术的应用 北京航空航天大学宇航学院 图象处理中心 第一节 数字图像处理应用 概述 1.1 图像的重要性: 人类离不开图像, 计算机图像技术渗透到 各个科技领域, 百闻不如一见 . 画面比 ...

  7. 【人工智能项目】ImageNet数据集介绍以及数字图像处理技术

    [人工智能项目]ImageNet数据集介绍以及数字图像处理技术 本次介绍一下imagenet数据集,并对imagenet数据集中的图片做一些数字图像处理预处理操作.那话不多说,搞起来!!! Image ...

  8. 计算机在医学应用图片,数字图像处理技术在医学领域的应用

    郭宽 文章编号:2095-6835(2016)13-0106-01 摘 要:医学影像技术涉及到了诸多领域的新兴技术,是多种前沿科技融合而成的产物,也是进行医学研究以及临床阶段的医学实验所必需的一种手段 ...

  9. 纺织计算机应用技术pdf,计算机图像处理技术在纺织品测试中的应用.pdf

    计算机图像处理技术在纺织品测试中的应用 !""# 年$ 月·第%% 卷·第$ 期 !"#$%"#& '()'&*( !+&($+( , ...

最新文章

  1. Android中使用ContentProvider进行跨进程方法调用
  2. java求一个数的阶乘_Java如何使用方法计算一个数字的阶乘值?
  3. linux 共享内存陷井,linux共享内存应用与陷阱
  4. bioinformaitcs的latex版本参考文献填坑
  5. Nginx+Tomcat动静态资源分离
  6. python从小到大的顺序输出_「小白专栏」Python中使用for循环,为什么输出结果不是按顺序?...
  7. python的根号运算_python怎么表示根号运算
  8. web安全深度剖析知识点总结
  9. Excel 2007中,列标1234 修改为 ABCD
  10. Webbrowser若干点
  11. kinect相机标定参考教程
  12. 马尔可夫链预测模型的应用——以安徽各城市人均GDP预测为例
  13. webView 修改背景颜色
  14. 高端存储技术与应用趋势
  15. 别细看|请收藏|堆垛机故障大全及解决办法
  16. Shell入门教程[2]
  17. 安卓抓jdwskey
  18. 微信公众号页面中监听手机“返回”,并回到公众号里
  19. pyqt5版本灭霸响指
  20. SCAU程序设计在线实训平台_实验_数据结构_实验4

热门文章

  1. C语言二月天数计算,关于计算两个日期间天数的代码,大家来看看
  2. SQLServer数据库设置项梳理
  3. 开源:分享10 个让你笑的合不拢嘴的 GitHub 项目!
  4. 教你理清SpringBoot与SpringMVC的关系
  5. 做人:失信是最大的破产!
  6. python高斯求和_二、算法分析
  7. java 遍历map集合
  8. 如何系统搭建现代 Web CI/CD
  9. 开始学习jQuery和准备工作
  10. Python基础--Python3基础语法