VTK-修改图片的像素
代码实现
CMakeLists.txt文件代码如下
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
PROJECT(changePixel)
FIND_PACKAGE(VTK REQUIRED)
INCLUDE(${VTK_USE_FILE})
ADD_EXECUTABLE(changePixel changePixel.cpp)
TARGET_LINK_LIBRARIES(changePixel ${VTK_LIBRARIES})
changePixel.cpp代码如下
#include <vtkAutoInit.h>
#include <vtkSmartPointer.h>
#include <vtkJPEGReader.h>
#include <vtkImageViewer2.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkPNGWriter.h>
#include <vtkRenderer.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkInteractorStyleImage.h>
#include <vtkImageActor.h>
#include <vtkImageData.h>VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
VTK_MODULE_INIT(vtkRenderingVolumeOpenGL2);int main()
{vtkSmartPointer<vtkJPEGReader> reader =vtkSmartPointer<vtkJPEGReader>::New();//读取JPG文件reader->SetFileName("/home/jack/projects/VTK/7demo/test.jpeg");reader->Update();int dims[3];//获取图片的位数reader->GetOutput()->GetDimensions(dims);for (int k = 0; k < dims[2]; k++){for (int j = 0; j < dims[1]; j++){for (int i = 0; i < dims[0]; i++){//i < 400 && i > 0 && j > 0 && j < 400表示要改修的范围if (i < 400 && i > 0 && j > 0 && j < 400){//记得要转换成(unsigned char *)类型unsigned char *pixel = (unsigned char *)(reader->GetOutput()->GetScalarPointer(i, j, k));//修改R*pixel = 255 - *pixel;//修改G*(pixel + 1) = 255 - *(pixel + 1);//修改B*(pixel + 2) = 255 - *(pixel + 2);}}}}vtkSmartPointer<vtkImageViewer2> ImageViewer =vtkSmartPointer<vtkImageViewer2>::New();ImageViewer->SetInputConnection(reader->GetOutputPort());//显示该幅图像ImageViewer->Render();//加入交互机制//实例化一个交互器对象interactorvtkSmartPointer<vtkRenderWindowInteractor> renderWindowInter =vtkSmartPointer<vtkRenderWindowInteractor>::New();ImageViewer->SetupInteractor(renderWindowInter);renderWindowInter->Initialize();renderWindowInter->Start();}
结果
VTK-修改图片的像素相关推荐
- 在线压缩照片、修改图片尺寸像素、在线ps、免费在线做图实时协助
在线压缩照片 修改图片尺寸像素 在线ps 免费在线做图实时协助
- Java读取并修改图片的像素值
Java程序读取图片像素的值类, package work;import java.awt.AWTException; import java.awt.Dimension; import java.a ...
- php 截取图片像素,php 如何修改图片像素大小
php修改图片像素大小的方法:首先创建一个PHP示例文件:然后根据后缀,由文件或URL创建一个新图象:接着获取当前待修改图片的像素:最后重采样拷贝部分图像并调整大小即可. 推荐:<PHP视频教程 ...
- 怎么把图片修改成600x800像素图片?
怎么把图片修改成600x800像素图片?在日常生活和工作中,会遇到提交的图片有规定的像素要求,比如600x800,这个时候小伙伴们纷纷举手说这题我会做,不要着急,如果是批量操作成百上千张图片呢?这个问 ...
- java 修改图片分辨率_java 修改图片的像素大小,清晰度
修改图片的像素,清晰度 代码 /** * 改变图片 像素 * * @param file * @param qality 参数qality是取值0~1范围内 清晰程度 数值越小分辨率越低 * @par ...
- java 修改图片的像素大小,清晰度
修改图片的像素,清晰度 代码 /*** 改变图片 像素** @param file* @param qality 参数qality是取值0~1范围内 清晰程度 数值越小分辨率越低* @param im ...
- 电脑怎么修改图片像素大小,快速批量处理方法
电脑怎么修改图片像素大小?很小伙伴还不理解什么是图片的像素,还以为图片的像素代表了图片的清晰度,其实不是的,我们常说的像素其实就是图片尺寸的意思,因此修改图片的像素其实就是修改图片尺寸的意思.在生活中 ...
- android图片分辨率改变,android 通过修改图片像素实现CircleImageView
CircleImageView实现方法有很多种,各有优缺点,因此需要按照不同的场景使用.我们今天使用修改图片像素的方法实现CircleImageView,主要知识点无非是勾股定理和点到圆形的距离. 素 ...
- PIL修改带有透明像素的png图片颜色
知识补充 颜色有两种 RGBA 和 RGB, 前者有 4 个值(r, g, b, a),后者有 3 个值(r,g,b),每个都是 0 到 255,RGBA 的 a 就代表透明度.a= 0表示透明 ge ...
- python修改图片,Python之修改图片像素值的方法
在做语义分割项目时,标注的图片不合标准,而且类型是RGBA型,且是A的部分表示的类别,因此需要将该图片转化为RGB图片 # -*- coding:utf8 -*- import os from PIL ...
最新文章
- 脚本化 tmux — LinuxTOY
- 中国疾控中心回应论文争议:所有病例在论文撰写前已向社会公布
- php无法引用,PHP错误:“无法通过引用传递参数2”
- java的AutoCloseable接口
- [WorldWind学习]12.WavingFlags和WavingFlagLayer
- python生成json_生成动态嵌套JSON对象和数组-python - python
- 计算机网络(二)-性能指标
- Java 生成随机数的 N 种方法
- C++提高部分_C++函数模板的概念---C++语言工作笔记080
- 计算机网络相关的知识,计算机网络相关知识整理
- 不写代码不用Excel,如何制作高大上的财务分析?
- jdbc mysql innodb 死锁 deadlock_Mysql InnoDB 数据更新/删除导致锁表
- windows黑窗命令
- 手机号码归属地查询,手机号码归属地批量查询
- HDU-5773 The All-purpose Zero(LIS变形)
- 计算机网络子网斜杠后面的含义,ip地址后面的斜杠24是什么意思
- 易捷行云EasyStack与火星高科完成产品互认证,保护云上数据
- 模型会忘了你是谁吗?两篇Machine Unlearning顶会论文告诉你什么是模型遗忘
- github免用户名密码管理代码
- 《鬼谷子》飞箝第五(原文)
热门文章
- java 实现ps功能_java 简单图片,可以实现ps的几个小滤镜
- python中shelf_Python cmds.shelfLayout方法代码示例
- Excel如何快速统计某列数据出现次数
- 【C++】2048游戏系列---优化模块第一稿【加载图片】
- Tomcat、Servlet、JSP、EL和JDK版本对照以及各版本Tomcat下载
- 什么是TypeScript?本文介绍TypeScript基本用法和语法。
- MATLAB使用符号工具箱计算函数的5阶麦克劳林多项式的四种方法(附指定阶数、指定点的泰勒展开)
- php木马伪装成图片,木马伪装图片运行的技巧
- 每日一题——有效的数独
- 中国车牌归属地数据库