图像处理

Python中多线程和多处理的初学者指南

倾然丶 夕夏残阳落幕 提交于 2020-04-21 12:41:28
使用Python分析数据,如果使用了正确的数据结构和算法,有时可以大量提高程序的速度。实现此目的的一种方法是使用Muiltithreading(多线程)或Multiprocessing(多重处理)。 在这篇文章中,我们不会详细讨论多线程或多处理的内部原理。相反,我们举一个例子,编写一个小的Python脚本从Unsplash下载图像。我们将从一次下载一个图像的版本开始。接下来,我们使用线程来提高执行速度。 简单地说,线程允许您并行地运行程序。花费大量时间等待外部事件的任务通常适合线程化。它们也称为I/O Bound任务例如从文件中读写,网络操作或使用API在线下载。让我们来看一个示例,它展示了使用线程的好处。 没有线程 在本例中,我们希望通过顺序运行程序来查看从Unsplash API下载15张图像需要多长时间: import requests import time img_urls = [ 'https://images.unsplash.com/photo-1516117172878-fd2c41f4a759', 'https://images.unsplash.com/photo-1532009324734-20a7a5813719', 'https://images.unsplash.com/photo-1524429656589-6633a470097c', 'https

【图像处理】反色

故事扮演 提交于 2020-04-21 02:29:44
定义 反色又叫补色。例如:黑与白、红与青等。 反色是与原色叠加可以变为白色的颜色,即用白色(RGB:255,255,255)减去原色的颜色。比如(RGB:255,0,0)的反色是(0,255,255)。 实验 原图: 代码: import cv2 def reverse_color ( img ) : img = 255 - img . copy ( ) return img if __name__ == '__main__' : src_pic = cv2 . imread ( '/Users/.../girl_1.jpg' ) dst_pic = reverse_color ( src_pic ) cv2 . imwrite ( '/Users/.../girl_2.jpg' , dst_pic ) 生成效果: 点赞 收藏 分享 文章举报 JNingWei 博客专家 发布了637 篇原创文章 · 获赞 895 · 访问量 194万+ 他的留言板 关注 来源: oschina 链接: https://my.oschina.net/u/4382774/blog/3285840

心随手动,驱动短视频热潮的引擎

雨燕双飞 提交于 2020-04-20 17:55:49
欢迎大家前往 腾讯云+社区 ,获取更多腾讯海量技术实践干货哦~ 作者:常青, 2008 年毕业加入腾讯,一直从事客户端研发相关工作,先后参与过 PC QQ、手机QQ、QQ物联 等产品项目,目前在腾讯视频云团队负责音视频终端解决方案的优化和落地工作,帮助客户在可控的研发成本投入之下,获得业内一流的音视频解决方案,目前我们的产品线包括:互动直播、点播、短视频、实时视频通话,图像处理,AI 等等。 前言 在 AlphaGo 名声大噪之前,围棋是一项少有人问津的娱乐项目,不信你可以在记忆里细数一下,当时身边有多少个朋友会下围棋(AlphaGo 出名后一时兴起下两把的咱们就不算数了)。相比之下,德州扑克的普及程度就要好的多,以至于我们团队有一次年会就放弃传统抽奖方式,而是靠德州扑克决定奖品名单的。 为什么高大上的围棋比不上德州扑克受欢迎呢?规则太复杂吗? 真正的原因是围棋的门槛太高了。在围棋里,水平的高低说带来胜率差异是碾压式的。对于两个围棋选手而言,如果棋艺差一级,那么对弈时弱者几乎没有赢的可能。这就让围棋变成了一群高智商玩家的小圈子游戏,刚入门的进来感觉就是找虐。而德州扑克则不是,不管你是不是行家,运气的成分总还是起了很大的作用,这就让它本身适合成为一款所有人都容易接受的游戏。 视频编辑也是如此,在电脑能够处理多媒体工作之后不久,就出现了很多的视频编辑软件。比如我过年回家

使用Python对Dicom文件进行读取与写入

可紊 提交于 2020-04-20 16:58:52
Dicom文件的读取 Pydicom 单张影像的读取 一些简单处理 读取并编辑Dicom Tags 借助Numpy与PIL.Image 可视化 单张影像的写入 SimpleITK 单张影像的读取 序列读取 一些简单操作 边缘检测 可视化 单张影像的写入 Pydicom 单张影像的读取 使用 pydicom.dcmread() 函数进行单张影像的读取,返回一个pydicom.dataset.FileDataset对象. import os import pydicom # 调用本地的 dicom file folder_path = r "D:\Files\Data\Materials" file_name = "PA1_0001.dcm" file_path = os . path . join ( folder_path , file_name ) ds = pydicom . dcmread ( file_path ) 在一些特殊情况下,比如直接读取从医院拿到的数据(未经任何处理)时,可能会发生以下报错: raise InvalidDicomError ( "File is missing DICOM File Meta Information " pydicom . errors . InvalidDicomError : File is missing DICOM File

【云栖号案例 | 能源】正泰新能源上云 AI质检 让瑕疵一秒现身

て烟熏妆下的殇ゞ 提交于 2020-04-17 00:28:49
【推荐阅读】微服务还能火多久?>>> 云栖号案例库: 【点击查看更多上云案例】 不知道怎么上云?看云栖号案例库,了解不同行业不同发展阶段的上云方案,助力你上云决策! 引言: 正泰新能源是正泰集团旗下集清洁能源开发、建设、运营、管理于一体的能源解决方案提供商,致力于光伏组件的的生产和销售,光伏电站、储能、配网售电、微电网、多能互补等综合能源的投资建设,全球累计投资建设光伏电站3500兆瓦,光伏组件产能达到2500兆瓦。 正泰新能源的发展有很强的行业代表性。一方面,光伏发电成本正快速逼近化石能源。一旦成本持平,凭借其在绿色发电上的绝对优势,光伏产业将迎来市场拐点。但现实依然很严峻。正泰新能源副总裁黄海燕女士表示,当前中国光伏产业主要有三大难局。一是利润微薄,光伏企业严重依赖国家补贴。企业市场行为受补贴政策影响巨大。二是经常成为国家间贸易壁垒的受害者。全球60%的硅料,85%的硅片以及70%的电池片都来自中国。欧洲“地板价”、美国“双反税”等地贸易保护政策严重影响到中国光伏企业在国际市场的竞争力。三是客户对产品品质的要求更为“苛刻”,间接增加企业的生产与运营成本。 自身能力的提升才能从容应对外界市场环境的波动。正泰新能源多年来,一直是智能制造的最佳实践者。从引进先进的自动化生产线,到自行开发MES系统(生产执行系统),随着大数据、人工智能、云计算等新一代数字技术的产业化落地

OpenCV4.11+QT5.13开发初体验

删除回忆录丶 提交于 2020-04-16 16:58:22
【推荐阅读】微服务还能火多久?>>> 先了解对应的模块: opencv_core:包含库的核心模块 opencv_imgproc:包含图像处理函数 opencv_highgui:提供了读写图像和视频的函数以及一些用户交互函数等等。 在开发过程中,一般需要包括以下这些头文件: #include <opencv2/core.hpp> #include <opencv2/imgproc.hpp> #include <opencv2/highgui.hpp> 最常用的使用方法: using namespace cv; //创建一个空图像 Mat image ; //读取输入图像 image = imread("D:/Nonmetal_no_press.png",1); // 定义窗口(可选) namedWindow("Original Image"); // 显示图像 imshow("Original Image", image); // 0 表示永远地等待按键,输出非0正数,即为等待的毫秒数 cv::waitKey(0); cv::imwrite("output.bmp", result); // 保存结果 QT结合OpenCV库实现案例: 1、读取一张图片,在现实画圆以及显示字符串。 2、实现两个按钮,对图片进行上下左右翻转。 界面布局如下: 这里的按钮需要转到槽,最后代码编写如下:

CVPR 提前看:视觉常识的最新研究进展

冷暖自知 提交于 2020-04-13 13:34:15
【今日推荐】:为什么一到面试就懵逼!>>> 2020 年 CVPR 将于 6 月 13 日至 19 日在西雅图举行。今年的 CVPR 有 6656 篇有效投稿,最终录用的文章为 1470 篇,接收率为 22%。作为计算机视觉三大顶会之一,CVPR 今年的论文方向依然为目标检测、目标跟踪、图像分割、人脸识别、姿态估计等等。CVPR 是老牌的视觉、图像和模式识别等研究方向的顶会,本篇提前看中,让我们在人工智能、深度学习热潮的冲击下,一起关注一下视觉常识的最新研究进展。 机器之心分析师网络,作者:仵冀颖,编辑:Joni Zhong。 具体的,我们关注下面四篇文章: 1、What it Thinks is Important is Important: Robustness Transfers through Input Gradients2、ClusterFit: Improving Generalization of Visual Representations3、Learning Representations by Predicting Bags of Visual Words4、AdderNet: Do We Really Need Multiplications in Deep Learning? 1、What it Thinks is Important is

三维重建(三)-------------------(三维重建资料收集)

谁说胖子不能爱 提交于 2020-04-12 18:59:07
Major学者的个人主页汇总: 1.陈宝权: http://web.siat.ac.cn/~baoquan/ 2.南亮亮: http://web.siat.ac.cn/~liangliang/ 3.mueller: http://people.ee.ethz.ch/~pascmu/publications.html 4.Yasutaka Furukawa: http://homes.cs.washington.edu/~furukawa/ 5.肖建雄: http://mit.edu/jxiao/ 6.Peter Wonka: http://peterwonka.net/ 7.Jerry Talton: http://www.jerrytalton.net/ 6.3d-coform:http://www.3d-coform.eu/ 7.吴常常:http://homes.cs.washington.edu/~ccwu/------------提供了SFM可执行文件或源代码 8.计算机视觉中的多视图几何作者Visual Geometry Group: http://www.robots.ox.ac.uk/~vgg/ 领域的综述文献 城市三维重建:A Survey of Urban Reconstruction.pdf 源代码 ImageJ: http://imagej.nih.gov

前端工程师需要具备哪些基本素质?

两盒软妹~` 提交于 2020-04-12 16:05:22
众所周知,前端工程师的首要工作就是开发用户界面,因此我们可以把前端工程师看做是用户体验的把控者。正所谓责任越大能力越大,前端工程师的工作内容也让这一岗位需要具备更多的能力,除了精通HTML 、 CSS这样的基础知识,对前端要求更高的其实是非技术因素。下面我们一起来看看前端工程师需要具备哪些基本素质。 1、懂业务 前面说了,做出界面只是前端工程师的基础工作,他还承担者处理用户端业务逻辑的任务。因此,前端工程师应该掌握 javascript编程语言,掌握各种编程思想、开发模式。利用各种技巧实现交互越来越丰富的界面,同时还要与服务端的工程师沟通,调试接口,完成:页面展示——响应用户操作——提交用户数据——反馈操作结果这一系列流程。因此,从这个角度来讲,计算机相关专业出身的前端工程师因为了解计算机、网络通信等基本原理,所以会发展的更好。 2、懂架构 前端工程师的工作内容已不再是写写页面这么简单,随着前端代码的规模越来越大,逐渐涌现出了模块化开发、 MVC、 MVVM等开发模式。团队规模也从原来的单兵作战演变为团队开发。所以,一个高级前端工程师要有架构能力。比如对现有优秀框架的了解与整合使用,可以根据项目的业务特点构建出合适的开发模式,设计前端测试方案保证代码质量等等。 3、学习能力强 无论是什么职业,学习能力强绝对是一个职场人快速进步的基本素质之一。因为前端这个领域离用户最近

程序员如何和产品经理优雅的干架

笑着哭i 提交于 2020-04-11 10:19:59
早前,平安产险科技一名外包程序员和一名外包产品经理干架的视频几乎在互联网圈都传遍了,因为产品提了一个需求: 要求用户App的主题颜色能根据手机壳自动调整 。 首先说这个需求对于应用开发工程师来说,确实是有点奇葩,当然并非不能实现。这块涉及图形图像处理,用机器学习和人工智能来提取图像颜色,这是基本图像识别过程,对于采集图像,可以提示对着镜子自拍一张,上传图片,通过大量的训练数据,来识别手机体颜色。当然并不能保证百分百成功,因为图像可能模糊或者,不明显等其他原因,就算不断用CNN(卷积神经网络)卷积运算。还是有可能不成功。这是对这个需求本身一些看法。下面进入今天的主题:程序员如何和产品经理优雅的干架(这里优雅的干架,主要是有效的沟通) 每次产品来提需求时,是这样的 每次产品来改需求时,是这样的 我在初出茅庐的时候,总是被产品牵着鼻子走,一个需求,接到后就做。开发过程中,发现各种坑,于是又和产品沟通,然后好不容易完成。提测后,一堆Bug,有些同时满足多种情况,本身就是定义矛盾,最后自己填坑。后来虽然涨了记性,每次和产品讨论需求时,想让对方不这么做,总是没有很好的理由说服别人。这个问题我曾不只一次向老大去请教,每次都受益匪浅。我姑且总结如下,以后干架撕逼定能派上用场: 1、弄清楚产品需求出发点是什么? 产品不会无缘无故提需求,就算是看到被的产品实现了某个功能,我们要实现。出发点是什么