opencv处理dicom图像_图像处理|opencv| 利用opencv把照片变换成素描风格
大家好我是阿猩学长,今天给大家利用图像处理库opencv来把图片转换为素描的风格。
其中利用的编程语言为C++。
话不多说先给大家看看实际的效果图。

原图

处理后的图片

原图

效果图
下面先给大家介绍一下大概的编程思路,再结合代码给大家分析
- 首先将彩色图转换成灰度图
- 对灰度图进行求其反色的操作,就是用255减去每个像素的值
- 对第2步得到的结果采用一个高斯模糊的操作
- 采用颜色亮化(color dodge)的技术将第一步的灰度图和第三步操作后的图片进行混合
下面展示这个程序的关键部分代码:
cv::Mat image = cv::imread("filename"); //灰度方式载入图片
cv::Mat image_black = image.clone(); //克隆一份保存,用于后面亮化
cv::Mat image_blur; cv::Mat image_r;
image = 255 - image; //对图片的取反操作
cv::GaussianBlur(image, image_blur,cv::Size2i(25,25),0,0); //用高斯模糊进行处理
image_blur = 255 - image_blur; //高斯模糊处理后的图像在进行取反
cv::divide(image_black, image_blur,image_r,256); //利用divide除法实现图片亮化
cv::imwrite("filename", image_r); //保存图片
cv::imshow("image",image_r);
cv::waitKey();
如果有不懂的,欢迎大家关注我,在下方评论或者私信提问我,我都会为大家一一为解答。
相关文章:

【实验楼】python简明教程
①终端输入python进入 欣赏完自己的杰作后,按 Ctrl D 输入一个 EOF 字符来退出解释器,你也可以键入 exit() 来退出解释器。 ②vim键盘快捷功能分布 ③这里需要注意如果程序中没有 #!/usr/bin/env python3 的话,应该使用 python3 hellowor…

Class101–如何高效地构建强大的数字绘画
你有没有对一幅画有过很好的想法,但不知道如何开始或努力完成这个过程?这门课的目的是给你工具和理解,帮助你把想法变成现实。 所有你需要知道的基本知识。 本课程将涵盖颜色和光线的基本原理、透视构图以及使你的过程高效可靠的高级技巧。 …

java nextline_Java编程语言基础的9根支柱
Java编程的基础概念包括:数据类型,分支与循环等。1.HelloWorld先从最简单的Java程序开始:public class HelloWorld{ public static void main(String[] args) { System.out.println("HelloWorld"); }}最显眼…

js 验证码 倒计时60秒
<input type"button" id"btn" value"免费获取验证码" /> <script type"text/javascript"> var wait60; function time(o) { if (wait 0) { o.removeAttribute("disabled"); …

JAVA安装全过程
安装JDK 设置环境变量 安装eclipse (安装前面需要上VPN 后面再退VPN) 一般流程:https://blog.csdn.net/weixin_40922936/article/details/80647371

前端(移动端)开发利器Chrome Developer Tools秘籍(下)
之前有分享到我们可以通过 Command Line API 来提高我们的开发效率。除此之外,还有一些比较有趣的快捷键和调试方法,也能帮助提高大家的生产效率。 几个小事项: 1.文中提到的快捷键 command 在WIN下都是对应Ctrl; 2.当焦点在dev t…
李宏毅机器学习笔记六——Gradient Descent
视频来源: 李宏毅机器学习(2017)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili https://www.bilibili.com/video/av10590361/?p6使用GD的注意事项: (1)小心的调节Learning rate在因材设计不同的learning rate的时候采用的主要方法&…

UE5废墟破坏游戏场景创建学习教程
为游戏创建毁坏的资产–深入教程课程 了解一个专业的环境艺术家在为游戏创建毁坏的资产时是如何工作的。您将学习正确的资产规划、创建模块化资产、创建损坏的混凝土和柱子、创建损坏的木材/地板、创建碎石堆、模拟碎片等技术! 大小解压后:26G 包含项目…

傻瓜式动画制作软件_一个傻瓜版的动画制作软件——万彩动画大师
之前介绍了文字视频的制作软件,但后来发现太单一了,后面又找到了这款动画视频制作软件——万彩动画大师首先来看看软件的首页有很多的模板,还有企业版、教育版、个人版,有很多的选择,有横版的、有竖版的,来…

每个程序员都需要学习 JavaScript 的7个理由
最近在和招聘经理交流现在找一个好的程序员有多难的时候,我渐渐意识到了现在编程语言越来越倾重于JavaScript。Web开发人员尤其如此。所以,如果你是一个程序员,那么你应该去学习JavaScript。 需求 我之所以这样说的主要原因是,随着…

【解决方法】你已从聊天服务器断开,正在尝试重新连接
打开360软件管家搜索断网急救箱修复然后上游戏就好了 360邪恶力量 还真就这么神奇0.0 目测是host文件设置问题

linux 修改home 目录
第一种方法:vi /etc/passwd 找到要修改的用户那几行,修改掉即可。此法很暴力,建议慎用。 /etc/passwd文件格式 登录名:加密口令:数字用户ID:数字组ID:注释字段:起始目录:shell程序 …
2018-3-6论文-网络评论中非结构化信息的应用于研究------(语义矩离)
语义矩离 用来描述特征词之间的语义相似度。 常用的计算方法主要有: 根据同义词词典求2个词语编码的矩离 在文章中使用了哈工大的《同义词词林》扩展版 (1)每个词有若干个编码,每个编码有5层代码和1位标志位描述…

Blender 3.0基础入门学习教程 Introduction to Blender 3.0
成为Blender通才,通过这个基于项目的循序渐进课程学习所有主题的基础知识。 你会学到什么 教程获取:Blender 3.0基础入门学习教程 Introduction to Blender 3.0-云桥网 模拟一架基本喷气式飞机 雕刻高细节 重组学 展开UV 绘画和阴影 使喷射动画化 制造天…
python开源商城_Leaf - 一个开发友好、功能完备的开源微信商城框架
Leaf - 开源微信商城系统框架Leaf 旨在实现一个对普通用户易用、对开发者友好的 轻型 开源 CMS 框架;Leaf 基于 Python3.5 构建,后端使用 Flask 作为基础框架、mongoengine 进行数据库建模。 我们希望能减少普通用户搭建微信商城的成本,同时为…

Github配置(git+vscode+python+jupyter)
①下载git 打开 git bash 工具的用户名和密码存储 $ git config --global user.name “Your Name” $ git config --global user.email "emailexample.com" $ git config --global credential.helper store 注意:邮箱必须与 GitHub 注册邮箱一致 以后&a…

1.2 - C#语言习惯 - 用运行时常量readonly而不是编译期常量const
C#中有两种类型的常量:编译期常量和运行时常量。二者有着截然不同的行为,使用不当将会带来性能上或正确性上的问题。 这两个问题最好都不要发生,不过若难以同时避免的话,那么一个略微慢一些但能保证正确的程序则要好过一个快速但不…

2018-3-6 (论文—网络评论中非结构信息应用于研究)笔记-----论文中的特征抽取的模型算法
整体的流程 网络评论预处理------------------->>>>>>利用相关性特征得到网络评论特征抽取的模型算法 特征提取算法模型: 论文46 马尔科夫链(Markov blanket) 具体的意义不懂 特征冗余ÿ…

从头开始学习Adobe Photoshop CC图像编辑
完整课程,涵盖所有关于Adobe Photoshop CC的基本课程 你会学到什么 课程获取:从头开始学习Adobe Photoshop CC图像编辑-云桥网 Photoshop用户界面之旅 转型导论 项目管理 图层面板简介 基本图层属性 混合模式 不可或缺的层效果 投影、内部发光和外部发光…

hbase shell命令_HBASE的shell操作
前言我们知道hbase其实是架构在hdfs上的一个分布式数据库,既然是数据库那么这篇文章就主要围绕着我们最熟悉的增删改查来做。当然了,其实hbase的shell操作在真实的企业中几乎不用,这个很简单,我们的hbase是用来存贮海量数据的&…

BOM、定时器
BOM、 window:frames; history; location; navigator; screen; docunment( anchors; forms; images; links; location; ) 1.定时器 setTimeout 指定函数几秒后运行setInterval 可重复运行指定几秒运行 2.弹对话框 alert 会产生阻塞 confirm 有“确定”或“取消”按钮…

mysql 树形结构_再读MySQL索引-《高性能MySQL》索引手记
最近工作中经常和MySQL打交道,当数据量小的时候,不同查询方式以及是否使用索引并无大碍,当数据量随着业务的成长急剧加速时,索引的重要性不言而喻。本篇文章以《高性能MySQL》中的索引章节为基础,加之个人对索引的理解…

下午就要考试啦~~附上自己做的考试范围
第一章 测试是否有必要 有。毕竟成本低 什么是软件的质量?(测试检测的是软件的质量,那么是什么软件的质量) 外部质量:用户可感知的,[功能、可靠、易用、效率] 内部质量:代码风格、内聚性、耦合性…

Unity 创建2D平台游戏开发学习教程
了解如何使用C#在Unity中创建您的第一款2D平台游戏 你会学到什么 使用Unity创建2D奥运会 使用可脚本化的对象和单一模式 使用良好的编程实践 创造武器和射弹 使用可脚本化的对象和委托模式创建强大且通用的人工智能 创造具有多重能力的角色 创建级别组件 MP4 |视频:h264&…

Solr和lucene
1. Solr 是什么? Solr它是一种开放源码的、基于 Lucene Java 的搜索服务器,易于加入到 Web 应用程序中。Solr 提供了层面搜索(就是统计)、命中醒目显示并且支持多种输出格式(包括XML/XSLT和JSON等格式)。它易于安装和配置…

django 链接地址匹配流程
前提: 代码结构 步骤一: 下面为某个网页的链接地址 <body> {% if latest_article_list %}<ul>{% for article in latest_article_list %}<li><a href"/blog/p/{{ article.id }}/">{{ article.title }} </a><…

【Datawhale-Python】Task1
1.环境搭建 略(见之前博客) 2.python初体验 ①print() 略 ②input() Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型。 >>> ainput() 2 >>> a 23.…

Android高手速成
第一部分 个性化控件(View) http://www.cnblogs.com/huwei0814/p/3796659.html 第二部分 工具库 http://www.cnblogs.com/huwei0814/p/3796670.html 第三部分 优秀项目 http://www.cnblogs.com/huwei0814/p/3796673.html 第四部分 开发工具及测试工具 http:/…

Texlive安装与环境变量配置
下载安装:https://www.jianshu.com/p/25896cc05cb4 去官网下载速度很快 环境变量配置:https://www.jianshu.com/p/f8f6c255098c