商家名称 | 信用等级 | 购买信息 | 订购本书 |
![]() |
Python计算机视觉编程 (图灵程序设计丛书) | ![]() |
|
![]() |
Python计算机视觉编程 (图灵程序设计丛书) | ![]() |
网友对Python计算机视觉编程 (图灵程序设计丛书)的评论
主要是从工程师的视角出发,给的评分有点低。
网络上的资源越来越丰富之后,似乎书籍的定位应该随之改变才对,以本书为例,粗看之下常见的图形图像的问题都讲了,实际上每种都是蜻蜓点水。而对针对工程师来说,在项目中能用到的只是其中的一两个点而已, 针对这一两个点,stackoverflow网站要比这本书更有效。
我的猜测是:在线资源丰富之后,对体系进行深入介绍的书还有市场,比如《UNIX网络编程》、《WebGL编程指南》这种经典图书,或者,针对某一个细分领域,把编程知识和业务结合起来,比如我最近在做的医学影像,市面上相关的书籍非常少。
贴一段在某乎上写的python医学影像的东西,希望有能有出版行业的编辑看到,了解下一线工程师真正需要的是什么:
-----------------------------------------------------------------------------------------------------------------------
作者:老王
链接:https://zhuanlan.zhihu.com/p/21438718
python医学影像的Hello world程序
最近我所在的公司有感于招不到懂医学影像的py"rest":"thon开发人员,打算写一个python医学影像开发入门系列。<br /><br />医学影像的Hello World程序大致如上图所示,要在浏览器的三个窗口内分别显示Axial、Sagittal、Coronal三个轴向的数据(如磁共振的扫描数据)。<br /><br />开发这样一个Hello World程序,需要的工具包括:<br /><br />1、Anaconda2 -- python科学计算发行包<br /><br />2、nipy -- python医疗影像开发包(是一系列开源库,包括nibabel等)<br /><br />3、matplotlib -- python绘图工具库<br /><br />4、numpy、scipy -- 常用的python数学计算库<br /><br />5、webagg官方示例程序 -- 这个example一个文件包含了tornado、javascript、html三部分内容,方便运行。引用的js、css文件都位于C:\\Anaconda2\\Lib\\site-packages\\matplotlib\\backends\\web_backend目录下<br /><br />对上述示例程序的修改点:<br /><br />Python端:<br /><br />1、把WebSocket改成WebSocket1、WebSocket2、WebSocket3<br /><br />2、__init__函数:<br /><br /># Sends images and events to the browser, and receives<br /><br /># events from the browser<br /><br />('/ws', self.WebSocket),<br /><br />改成<br /><br />('/ws1', self.WebSocket1),<br /><br />('/ws2', self.WebSocket2),<br /><br />('/ws3', self.WebSocket3),<br /><br />3、create_figure函数<br /><br />epi_img = nipy.load_image('file_name.nii')<br /><br /># 磁共振设备的采样点是长方体,不是正方体,需要用仿射转换调整成正方体<br /><br /># 构造保存调整后的立方体的numpy.ndarray<br /><br />ns_0 = int(epi_img.get_data().shape[0] * epi_img.header.get_zooms()[0])<br />ns_1 = int(epi_img.get_data().shape[1] * epi_img.header.get_zooms()[1])<br />ns_2 = int(epi_img.get_data().shape[2] * epi_img.header.get_zooms()[2])<br />new_shape = (ns_0, ns_1, ns_2)<br /><br />output = np.zeros(new_shape, epi_img.get_data().dtype)<br /># 进行仿射转换<br /><br />from nipy.algorithms.registration.affine import Affine<br /><br />scaling_affine = Affine()<br /><br />scaling_affine.translation = (0, 0, 0)<br /><br />scaling_affine.rotation = (0, 0, 0)<br /><br />scaling_affine.scaling = (epi_img.header.get_zooms()[0], epi_img.header.get_zooms()[1], epi_img.header.get_zooms()[2])<br /><br />scaling_affine.pre_rotation = (0, 0, 0)<br /><br />from nibabel.affines import to_matvec<br />A, b = to_matvec(scaling_affine.inv().as_affine())<br /><br />from scipy.ndimage import affine_transform<br />affine_transform(epi_img.get_data(), A, # offset=b,<br /> order=0, output_shape=new_shape, output=output) # , mode='nearest', cval=0.0)<br /><br />关于scipy的仿射转换,stackoverflow上有比较详细的讨论<br />http%3A//stackoverflow.com/questions/20161175/how-can-i-use-scipy-ndimage-interpolation-affine-transform-to-rotate-an-image-ab<br /><br />这个链接里面,geodata讲解了affine_transform的实现机制<br /><br />javascript的改动:<br /><br />var websocket_type = mpl.get_websocket_type();<br /> var websocket1 = new websocket_type("%(ws_uri)sws1");<br /> var websocket2 = new websocket_type("%(ws_uri)sws2");<br /> var websocket3 = new websocket_type("%(ws_uri)sws3");<br /> // mpl.figure creates a new figure on the webpage.<br /> var fig_1 = new mpl.figure(<br /> // A unique numeric identifier for the figure<br /> %(fig_id_1)s,<br /> // A websocket object (or something that behaves like one)<br /> websocket1,<br /> // A function called when a file type is selected for download<br /> ondownload,<br /> // The HTML element in which to place the figure<br /> $('div#box1'));<br /> var fig_2 = new mpl.figure(<br /> // A unique numeric identifier for the figure<br /> %(fig_id_2)s,<br /> // A websocket object (or something that behaves like one)<br /> websocket2,<br /> // A function called when a file type is selected for download<br /> ondownload,<br /> // The HTML element in which to place the figure<br /> $('div#box2'));<br /> var fig_3 = new mpl.figure(<br /> // A unique numeric identifier for the figure<br /> %(fig_id_3)s,<br /> // A websocket object (or something that behaves like one)<br /> websocket3,<br /> // A function called when a file type is selected for download<br /> ondownload,<br /> // The HTML element in which to place the figure<br /> $('div#box3'));<br /> }<br />);"
性价比特别不值的。这个包那个包,不可能为了什么功能下载某个包吧?说是使用手册吧,算不上,没觉得多实用。说理论吧,也无理论。并且很多包的安装方法都没讲。你说是对python初级用户吧,像素点怎么操作都没讲,说是对高级用户吧,里面的图像理论python真心算不上高级。
反正我接触图像五年以上了,只是第一次用python图像处理才买的这个书,完全不实用。
最后在网上搜到:Anaconda 包含了所有包,大家可以搜下,网上的东西完全比这本书里面的实用。
然后很薄 50左右真心不值
几乎都有样例,可以很好地理解每种算法及具体思路,对于有python基础的人来说是很好的计算机视觉入门书籍
Python就是方便,视觉计算方面的库也还算可以,可以做一些基础工作,比如车牌过滤
物廉价美,发货给力,全新的还是
不错的图书,比较清晰明了。
喜欢Python计算机视觉编程 (图灵程序设计丛书)请与您的朋友分享,由于版权原因,读书人网不提供图书下载服务