精华内容
下载资源
问答
  • 如何初版一本书——出版社选择

    千次阅读 2018-05-30 11:20:13
    小编将在本文中介绍作者向出版社投稿的基本步骤注意事项。这些方法能帮助作者提高投稿的通过率。 出书出版社该如何选择 作者如何联系出版社出书 一、制定出版策略 出版业关于经营目标的口号虽是“社会效益...

    出书出版社该如何选择 作者如何联系出版社出书

    小编将在本文中介绍作者向出版社投稿的基本步骤和注意事项。这些方法能帮助作者提高投稿的通过率。

    出书出版社该如何选择 作者如何联系出版社出书

    一、制定出版策略

    出版业关于经营目标的口号虽是“社会效益为首,社会效益与经济效益相结合”,但大家只消去书店逛逛,大概也能感受到“社会效益”只是空话。之前,我们国家的出版社都是事业单位,主要靠财政拨款支撑;现在差不多都改制转企了,需要自负盈亏。每个编室(有的是项目组)、每个编辑,都承担着一定的数量指标,如字数、码洋(即定价乘以销量)、利润等。编辑完不成这些指标,就没有年终奖拿。而原本就在市场中摸爬滚打的民营书商,更是会精打细算地考虑每一本书的成本和收益。因此,编辑接到投稿,几乎都会问: “这本书能让我挣多少钱?”

    换句话说,作者想要让自己的作品出版,也就需要考虑这本书能卖出多少册,能让编辑挣多少钱。

    一般而言,一本书的销量达到3000册左右,才能让出版社保本;达到8000~10000册,编辑和发行才能有钱赚。当然,出版社有时候为了规模或者名声,也会出一些赔钱书,但总的来说利润压力很大。如果你的书原本就是写给小众的,或者编辑预判你的书销量有限,你或许就需要掏一点“出版资助”,形式通常是你给出版社一笔钱,出版社给你一堆书;其余的书投入市场销售。或者你也可以选择“作者包销”,自己把印出来的书全部买下;出版社不再公开发行。

    因此,你在投稿前就需要想清楚:为了这本书的出版,你最多愿意付出多少时间,付出多少金钱。许多出版社要求的出版资助在2万元左右,多的到5万元。有一些半死不活的地方出版社,可能只要几千块钱。

    如果不愿意掏这笔钱,你就应该想想看怎么样把自己包装成潜力作者,怎么样把自己的书包装得很能卖的样子。我列出一些方法:

    • 介绍你的专业地位。虽然你之前没写过书,是新作者,但是你在自己的行业中积累了丰富经验,是某个领域的权威或专家。

    • 搬出你的头衔来。在本单位、相关组织、协会中的头衔都能派上用场。当然,得是跟这本书有点关系的头衔。我曾受理过一本金融专著,作者在简介中称自己是飞碟爱好者协会理事,这个头衔对推销他的书当然就没用,甚至会起反作用。

    • 挖掘你自己的销售渠道。你可以通过自己的关系卖书吗?有可能通过行业协会卖书吗?有可能通过演讲、讲座、沙龙、工作坊卖书吗?有可能将你的书与别的产品搭售吗?有可能找到企业将你的书作为赠品吗?

    • 比较同类书。如果你的书恰好是市场上正在畅销的题材,或者你本人与某位畅销书作家有可比性,不妨拉过来帮衬帮衬。

    • 找名人写推荐。你有朋友是高校教授、企业高管、社会名流吗?请他们友情赞助几条推荐吧。

    在投稿时向编辑提供上述信息,能够大幅提高选题通过的几率。

    有的作者可能会想,既然书号也可以买,销售渠道也可以自己找,还让出版社参合什么呢,干脆包干到底,完全自费出版好了。其实完全自费出版也不是不可以,但出版业受高度管制,完全自己来会很麻烦。从编辑到发行的每一个环节,几乎都有准入条件,都有资质要求。特别是发行环节,如果你没有图书批发资质,你的书连当当和卓越都上不了,更不用说进新华书店了。所以即便是买书号自己印,只要你还想让读者买到你的书,终归还是得找一家总发行。在网上搜“图书发行公司”,能找到许多做这类业务的民营企业。

    二、挑选出版社

    在决定愿不愿意掏钱、最多掏多少钱来出书之后,下一步就是为你的书挑选最合适的出版社。单纯为出版而出版的书,比如评职称用的书,就去找半死不活的出版社,给点钱算了。从这一节开始,我只谈论凝结了作者的心血,想要实现一些社会影响、碰撞出一些思想火花的作品。

    一本书的最终品质和能够形成的社会影响,除了要看内容本身,跟出版社的综合实力也是密不可分的。一家好的出版社能给你的作品带来如下价值:

    • 优化全书框架结构,升华主题思想。尽管书稿已成,一位好编辑仍然可以通过后期加工,提升书稿的可读性,提炼出书稿的精华和卖点,让它与社会文化热点结合起来。

    • 良好的编校质量和装帧设计。出版社的编校流程和质量控制办法,能够最大限度地消灭书稿中的技术性错误,如知识错误、错别字、体例不统一等。有sense的责编与美编或外部设计工作室合作,为你的书设计最合适的开本、封面和内页版式,选择精良的纸张和工艺。【这里顺便提一下《如何阅读一本书》(商务出版社,2004年),该书系统地介绍了略读、粗读、精读、主题阅读等不同层次的阅读方法,是非常经典的读书方法论,但成书质量却令人非常不满。内页用纸太差,背面的字会透过来,书后也没有索引。这本书应该卖得很不错,希望出版社重印或再版时能注意这些问题。】

    • 广泛铺货。不同出版社的铺货能力是不一样的。你去机场的书店看看,就会发现有一些出版社的书特别多,有一些出版社永远没机会亮相。前些年许多社跟温总的风出了一堆《国富论》和《道德情操论》,但有些社的书就能舒舒服服平躺在书店正门口的展示台上,次一点的旁边展架上立着,还有一些只能挤在书架上露个书脊。选择露脸率高的出版社,才能让你的书有更高的露脸率。

    • 有张有弛的营销。去年我看到的数据是,我国一年的新书达到20万个品种。新书品种这么多,大部分新书的命运就是被出版社随手扔进市场,自生自灭。即便一些出版社有营销意识,却不懂营销方法,比如在出版周刊之类的媒体上登书评,只能让书业的人了解到新书讯息,无法让真正的读者了解到。好的出版社和好的编辑,既有营销意识,又懂营销方法,会利用专业报刊、地铁电视、豆瓣、微博、专业活动等多种渠道,安排书讯、书评、深度讨论等多层次的宣传手段,直接面向读者宣传新书。

    • 负责任的稿酬结算。出版社按“销售回款”给作者结版税。就是说,要书店给出版社书款,出版社才会给作者版税。如果出版社的回款管理不善,就会让作者在钱上吃亏。还有的出版社和书商有瞒报印数、盗印的习惯,明明卖了10000册,告诉作者说只卖了5000册。作者要找有信誉的出版社与编辑合作,才能保障自己的利益。

    但作者能掌握的信息毕竟有限,为出版一本书而去调查各个出版社,显然并不值当。一个简便易行的办法就是去书店里挑同类书来看看。这些书多是哪些社出的,封面和版式设计是否令你满意。挑出你最喜欢的一本书,然后联系那一家出版社,总错不了。不过,现在很多书都是书商跟出版社合作出版的,封面上虽印着某某出版社,实际功夫都是人家书商做的。你可以看看封底或者后勒口上是否有书商的logo,然后在网上查询书商的联系方式。

    下面推荐一些我关注得较多的出版商。

    • 中信出版社:经管类、励志类图书的龙头,销售力量强大,装帧设计也是一等一,品味与市场相结合。

    • 机械工业出版社—华章:经管类图书做得不错,但装帧设计不如中信。

    • 人民邮电出版社—新曲线:经济类、心理类,选题策划能力很强。

    • 电子工业出版社—博文视点:工作技术类,选题、装帧、销售都不错。

    • 磨铁:职场励志类,营销能力超级强,但装帧设计比较俗。

    三、挑选编辑

    讲完了怎么挑出版社,接下来讲讲怎么挑编辑。向同一家出版社投稿,遇到不同的编辑,最后的结果可能大不一样。我在上一节说到过,优秀的编辑能够提升书稿质量,为你的书带来更多价值。除此之外,一位编辑在编室或者社里的地位如何,能不能说上话,能动用多少资源,对于一本书的成败也是至关重要的。

    我们来看看选题立项的流程吧。

    代表先进生产力的出版社,有专门的策划部门或者选题委员会,定期讨论选题。编辑接到你的选题,做出初步判断后,在选题会上提交报告,公开讨论,立即就能知道选题是否通过。大部分出版社还没有形成策划编辑和文字编辑的分工,也没有评判选题的标准程序,编辑接到选题,填写选题申报表,拿给室主任和分管社领导签字,然后还要等发行部门负责人、其他社领导和社长(总编辑)签字。签字过程短则三两个星期,长则三五个月。什么样的选题能通过,什么样的通不过,完全说不准。不过在这种出版社中,室主任的意见往往具有决定性。

    所以,我个人的建议是,要投稿就投给出版社里的小头目,别投给底层的小编。底层小编往往没有决策权,只能向上汇报;要是碰巧你找到的小编触了领导霉头,她申报的选题可能八辈子都过不了一个。你可以打通出版社总机之后,直接说找某某部门的主任,或者在网上查找头目们的姓名和联系方式。

    还有一种办法是投稿给资深策划编辑。你可以在书的封底或者版权页上查到策划编辑的名字。他们能凭自己的业绩优势,说服社里对一本书投入更多资源。

    最后,要是你被一位编辑据了,不要立即就放弃。前面提到过,有的出版社会集中讨论选题,有的出版社则由编辑自己判断。如果编辑告诉你说选题没有过,你也可以再问问,是在哪个级别上被毙掉的。你可以问:“是你们编室的讨论结果吗?”或者“是你们社选题会的讨论结果吗?”如果不是集中决策的结果,而只是编辑个人据了你,你完全可以换一个编辑再投,也可以换一个编室再投。如今各编室的“势力范围”并没有划分得很清楚,编辑单打独斗也很普遍,在同一家出版社多试几次,没什么不可以的。

    四、投稿应包含哪些内容

    投稿时,不必将整个书稿交给编辑。一是你投了别人也没时间看,二是不利于你保护自己的权益。一般来说,有下面的内容就够了:

    • 书名、全书字数、表格和插图数量等基本信息。

    • 内容简介,200~500字为宜。

    • 作者简介。

    • 目录。

    • 样章,挑出你写得最好的,或者最有代表性的一章。

    以上是“规定动作”,要让稿子得高分,还得加上“自选动作”。你在一开始考虑过的那些包装策略,现在该派上用场了。

    • 记得在作者简介中突出你的与众不同。

    • 你考虑的销售渠道,不必写在纸上,可以在之后的电话交谈或者面谈中与编辑沟通。

    • 列出一些同类书,供编辑参考。

    • 注意格式,正文最好是宋体、小四号、1.5倍行距。

    注意哦,我说的是以事实为依据的包装策略,可没让你瞎忽悠。

    五、签订出版合同的注意事项

    投稿差不多就说到这里,最后说一下作者与出版社签订出版合同的注意事项吧。每一家出版社的出版合同,格式都差不多,我只讲有谈判空间的条款。

    1. 授权范围

    出版合同里面一般都包括了中文简体版、中文繁体版、其他语种和数字版权的授权。如果你有门路自己把版权卖到港澳台地区或者国外,请记得保留繁体字和其他语种的版权。

    数字版权,现在出版社都要签,但签下来之后,他们也不会经营,只能以极其低廉的价格,打包卖给数字出版平台,或者给阅读器预装电子书之类的。最不厚道的是,数字版权的收益,出版社也只按照10%甚至更低的版税支付给作者。所以有谈判能力的作者,请尽量保留自己的数字版权,不要让出版社毫无创造性地贱价转包。即使必须签下数字版权,也注意单独协商稿酬方式,不要稀里糊涂地就跟纸制出版物的稿酬一样了。

    1. 稿酬

    稿酬主要有稿费和版税这两种形式。稿费按字数给,比如说千字100元。目前翻译的行情集中在千字60~80元;原创作品的行情我不太清楚,倒是知道有的书商千字给30元,就能找到Top 10高校的学生撰稿。在此我要向大学生朋友们呼吁,哪怕是上街贴小广告,还能锻炼自己的脸皮和应变能力,哪怕是去当家教,还能在学生家里蹭饭吃,千万别来做剪刀+浆糊的毫无技术含量的性价比极低的撰稿民工。

    版税也就是每卖出一本书,作者能拿到定价的百分之多少。新手5%、6%都是有可能的,但一般会在7%、8%。优秀的稿子一般会采用阶梯式的版税,比如“7、8、9”,“8、9、10”;意思是销量在5000册以下的,版税为7%,5000~10000册为8%,10000册以上为9%。有的书商为了抢作者,甚至也给到15%。

    1. 合同期限

    出版合同一般一签就是五年。新手在谈判稿酬时,通常不太能说上话,出版社给多少就是多少。弥补的办法就是将合同期限缩短到三年或者四年,这样书要是卖得好,你就可以早一点启动重新谈判。

    1. 支付版税的时间间隔

    出版社通常是半年甚至一年结算一次版税,但作者也可以要求缩短到每3个月结算一次。

    1. 作者购买折扣

    合同中,出版社会允许作者以一定的折扣购买一定数量的书,以便赠送给亲朋好友;一般是8折,不会低于6折。但书商跟出版社合作时,能以3.5折包销;所以你如果估计自己会买很多,或者你有别的销售渠道,就可以跟出版社谈一下回购折扣。

    我能想到的暂时就是这些。欢迎有出版经验的作者、出版业的同行对本文进行补充。如有错误之处,也请及时指正,以免误导新作者。我会根据留言反馈随时订正、增补。

    展开全文
  • PyEmail小轮子初版开源

    2021-02-11 20:42:32
    PyEmail小轮子出版开源 除夕夜,开源一个自动化邮件小轮子,代码来源于工作需要,已去除工作敏感信息,后续更新增强版 知识来源于开源,也将贡献给开源 PyEmail.py # -*- coding: utf-8 -*- from email.header ...

    PyEmail小轮子初版开源

    开源一个自动化邮件小轮子,代码来源于工作需要,已去除工作敏感信息,后续更新增强版

    PyEmail.py

    # -*- coding: utf-8 -*-
    from email.header import Header
    from email.mime.text import MIMEText
    from email.mime.multipart import MIMEMultipart
    from email.mime.base import MIMEBase
    from email.mime.application import MIMEApplication
    from email.mime.image import MIMEImage
    from email.utils import parseaddr, formataddr
    import smtplib
    import os
    class PyEmail():
    
        def __init__(self, from_addr,password,smtp_server='smtp.exmail.qq.com',server_port=25):
            self.__to_addr = ''   
            self.__cc_addr = ''
            self.__subject = ''
            self.__msgs = ''
            self.__text_imgs_path=[]
            self.__attach_file_path=''
            self.__smtp_server = smtp_server
            self.__server_port = server_port
            self.__from_addr = from_addr
            self.__password = password
    
        @property
        def from_addr(self):
            return self.__from_addr
        
        @property
        def to_addr(self):
            return self.__to_addr
    
        @property
        def msgs(self):
            return self.__msgs
        
        @property
        def cc_addr(self):
            return self.__cc_addr
        
        @property
        def subject(self):
            return self.__subject
        
        @property
        def attach_file_path(self):
            return self.__attach_file_path
        
        @property
        def text_imags_path(self):
            return self.__text_imags_path
            
        @to_addr.setter
        def to_addr(self,to_addr):
            self.__to_addr = to_addr
               
        @cc_addr.setter
        def cc_addr(self,cc_addr):
            self.__cc_addr = cc_addr
            
        @msgs.setter
        def msgs(self,msgs):
            self.__msgs = msgs
            
        @text_imags_path.setter
        def text_imags_path(self,text_imgs_path):
            self.__text_imgs_path = text_imgs_path
            
        @subject.setter
        def subject(self,subject):
            self.__subject = subject
            
        @attach_file_path.setter
        def attach_file_path(self,attach_file_path):
            self.__attach_file_path = attach_file_path       
        
        def __format_addr(self,s):
            name, addr = parseaddr(s)
            return formataddr((Header(name, 'utf-8').encode(), addr)) 
         
       # 支持excel/pdf/mp3等
        def __attach_file(self,attach_file_path,msg):
            part = MIMEApplication(open(attach_file_path, 'rb').read())
            filename = os.path.split(attach_file_path)[-1]   
            part.add_header('Content-Disposition', 'attachment', filename=filename)
            msg.attach(part)    
            
        def __get_msgImage(self,img_path):
            fp = open(img_path,'rb') 
            msgImage = MIMEImage(fp.read())
            fp.close()
            return msgImage        
            
        def __add_text_img(self,msg,text_imags_path):
            i = 1
            for img_path in text_imags_path:            
                msgImage = self.__get_msgImage(img_path)
                msgImage.add_header('Content-ID','<image{0}>'.format(i))             
                msg.attach(msgImage)
                i = i + 1        
        
        def __init_mail__(self):
            msg =  MIMEMultipart()
            msg['From'] = self.__format_addr(self.__from_addr)
            msg['To'] = self.__format_addr(self.__to_addr)
            msg['Subject'] = Header(self.__subject, 'utf-8').encode()
            msg['Cc']= self.__cc_addr
            if(self.__attach_file_path!=''):
                self.__attach_file(self.__attach_file_path,msg)
            muti_mail = []    
            muti_mail.append(self.__to_addr)
            if(len(self.__cc_addr) != 0 and ('@' in self.__cc_addr)):                      
                muti_mail.append(self.__cc_addr)  
            if (self.__text_imgs_path != [] ):
                self.__add_text_img(msg,self.__text_imgs_path) 
            return (msg,muti_mail) 
                 
        def sendEmail(self,mailtype):
            try:
                server = smtplib.SMTP(self.__smtp_server, self.__server_port,timeout=90)
                server.login(self.__from_addr, self.__password)
                (msg,muti_mail) = self.__init_mail__()
                if(mailtype == 'plain'):
                    msg.attach(MIMEText(self.__msgs, 'plain', 'utf-8'))
                if(mailtype == 'html'):
                     msg.attach(MIMEText(self.__msgs, 'html', 'utf-8'))
                #server.sendmail(self.__from_addr, muti_mail, msg.as_string())            
                server.quit()
                print('send to:',self.__to_addr,' successfully!')
            except Exception as e:
                print(e)
            
        def testmail(self):
            try:
                content='this is test email send by python'
                msg = MIMEText(content, 'plain', 'utf-8') # 文本邮件
                msg['From'] = self.__format_addr('from_email <%s>' %self.__from_addr)
                msg['To'] = self.__format_addr('to_email <%s>' %self.__to_addr)
                msg['Subject'] = Header('Test Email', 'utf-8').encode()
                server = smtplib.SMTP(self.__smtp_server,  self.__server_port)
                server.starttls() # 调用starttls()方法,就创建了安全连接
                server.login(self.__from_addr, self.__password) # 登录邮箱服务器
                server.sendmail(self.__from_addr, self.__to_addr, msg.as_string()) # 发送信息
                server.quit()
                print("加密后邮件发送成功!")
            except Exception as e:
                print( e)
    

    使用示例

    myemail = PyEmail.PyEmail(from_addr,password)
    myemail.cc_addr='cc_email@example.com'
    myemail.to_addr='to_email@example.com'
    myemail.subject='test Subject'
    myemail.msgs=msgs
    myemail.text_imags_path=['1.jpg','2.jpg']
    myemail.attach_file_path='Document1.docx'
    myemail.sendEmail(mailtype='html')
    
    展开全文
  • 請下載Part1~Part3後解壓 ...出版: 台北市:文魁資訊,2004[民93] ISBN: 957-466-636-0 譯自: Introduction to algorithms, 2nd ed. 主題: 資料結構 主題: 演算法 作者: 寇曼 (Cormen, Thomas H.) 作者: 蕭世文
  • 請下載Part1~Part3後解壓 ...出版: 台北市:文魁資訊,2004[民93] ISBN: 957-466-636-0 譯自: Introduction to algorithms, 2nd ed. 主題: 資料結構 主題: 演算法 作者: 寇曼 (Cormen, Thomas H.) 作者: 蕭世文
  • 請下載Part1~Part3後解壓 ...出版: 台北市:文魁資訊,2004[民93] ISBN: 957-466-636-0 譯自: Introduction to algorithms, 2nd ed. 主題: 資料結構 主題: 演算法 作者: 寇曼 (Cormen, Thomas H.) 作者: 蕭世文
  • 颜色识别代码--初版

    千次阅读 2013-03-11 10:48:11
    1、本程序是用于汽车颜色识别的出版,还有很多问题。 2、目前采用的是色差法,在RGB空间计算直方图后统计出现次数较多的点,与颜色模板进行匹配; 3、颜色模板设置有些问题,造成识别效果低,有待改善。。   //...

    1、本程序是用于汽车颜色识别的出版,还有很多问题。

    2、目前采用的是色差法,在RGB空间计算直方图后统计出现次数较多的点,与颜色模板进行匹配;

    3、颜色模板设置有些问题,造成识别效果低,有待改善。。

     

    // color recognition.cpp : 定义控制台应用程序的入口点。
    //
    #include "stdafx.h"
    #include <opencv2/opencv.hpp>
    #include <iostream>
    #include <stdio.h>
    #include "cv.h"
    #include<math.h>

    using namespace cv;    
    using namespace std;


    Rect r;   //存储车牌位置
    CvPoint origin;
    IplImage* image=NULL;
    int mark = 0;  //选择ROI标志

    // 颜色模板
    国家标准规定:一般有10种颜色:
    //  黑、白、红、绿、蓝、黄、 灰 , 棕、紫 粉
    #define  BLACK   0
    #define  WHITE   1
    #define  RED     2
    #define  GREEN   3
    #define  BLUE    4
    #define  YELLOW  5
    #define  GRAY    6
    #define  BROWN   7
    #define  PURPLE  8
    #define  PINK    9

    int colorVelue[10][3] = {{0,0,0},  //黑
          {255,255,255},  //白
          {255,0,0},     //红
          {0,128,0},  //绿
          {0,0,255},     //蓝
          {255,255,0}, //黄
         // {128,128,128},  //灰
          {165,42,42},    //棕像素值的范围
          {128,0,128}, //紫,像素值的范围
    {0,0,0}};//{255,192,203}}; //粉

    void on_mouse( int event, int x, int y, int flags, void* zhang)
    {
     if( !image )
      return;
     CvPoint pt;
     if( event == CV_EVENT_LBUTTONDOWN)//开始点击选择跟踪物体
     {
      origin = cvPoint(x,y);
         r = cvRect(x,y,0,0);//坐标
      r.x = MIN(x,origin.x);
      r.y = MIN(y,origin.y);
      r.width = r.x + CV_IABS(x - origin.x);
      r.height = r.y + CV_IABS(y - origin.y);

      r.x = MAX(r.x, 0);
      r.y = MAX( r.y, 0);
      r.width = MIN( r.width, image->width );
      r.height = MIN( r.height, image->height );
      r.width -= r.x;
      r.height -= r.y;
      
     }

      if( event == CV_EVENT_LBUTTONUP )
      {
       pt = cvPoint(x,y);
        mark=-1;
           r.width = pt.x - r.x;
           r.height = pt.y - r.y;
      }

    }
    /*************************************************************************
     * 函数名称:
     *   Color_difference()
     * 参数:
     *   IplImage* car       - 输入原图像
     *   Rect r              - 源图像中划出的颜色识别区域
     * 返回值:
     *   int* type           - 指向颜色类型值,返回类型参数
     * 说明:
     *   该函数用来对图像进行颜色匹配识别。
     ************************************************************************/
    int Color_difference_HSV( cv::Mat car, Rect r,int* type)
    {
     //复制ROI区域图像
     cv::Mat roiImage = cvCreateImage(cvSize(r.width, r.height), 8, 3 );
     car(r).copyTo(roiImage); 
     //
     /*cv::imshow("roi", roiImage); 
     cv::waitKey(0); */
     //
     int hdims = 5; // 划分直方图bins的个数,越多越精确
     float hranges_arr[] = {0,180};//像素值的范围
     float* hranges = hranges_arr;//用于初始化CvHistogram类

     IplImage* roi = &roiImage.operator IplImage();  
     IplImage* hsv = cvCreateImage(cvGetSize(roi), IPL_DEPTH_8U, 3);//用于存图像的一个中间变量,是用来分通道用的,分成hsv通道  
     IplImage* tmpH1 = cvCreateImage( cvGetSize(roi), IPL_DEPTH_8U, 1);//通道的中间变量,用于肤色检测的中间变量  
     IplImage* tmpS1 = cvCreateImage(cvGetSize(roi), IPL_DEPTH_8U, 1);  
     IplImage* tmpH2 = cvCreateImage(cvGetSize(roi), IPL_DEPTH_8U, 1);  
     IplImage* tmpS2 = cvCreateImage(cvGetSize(roi), IPL_DEPTH_8U, 1);  
     IplImage* tmpH3 = cvCreateImage(cvGetSize(roi), IPL_DEPTH_8U, 1);  
     IplImage* tmpS3 = cvCreateImage(cvGetSize(roi), IPL_DEPTH_8U, 1);  
     IplImage* H = cvCreateImage( cvGetSize(roi), IPL_DEPTH_8U, 1);  
     IplImage* S = cvCreateImage( cvGetSize(roi), IPL_DEPTH_8U, 1);  
     IplImage* V = cvCreateImage( cvGetSize(roi), IPL_DEPTH_8U, 1);    
     IplImage* src_tmp1=cvCreateImage(cvGetSize(roi),8,3);  
     
     
     //CvHistogram *hist = cvCreateHist( 1, &hdims, CV_HIST_ARRAY, &hranges, 1 ); //分配建立直方图空间
     //IplImage* mask = cvCreateImage( cvGetSize(hsv), 8, 1 );//分配掩膜图像空间
     //IplImage* hue = cvCreateImage( cvGetSize(hsv), 8, 1 );
     
     // 高斯模糊  
     //cvSmooth(roi,src_tmp1,CV_GAUSSIAN,3,3); //高斯模糊  

      hue色度,saturation饱和度,value纯度  
     //cvCvtColor(src_tmp1, hsv, CV_BGR2HSV );//颜色转换  
     //cvCvtPixToPlane(hsv,H,S,V,0);//分为3个通道  

     //cvInRangeS(H,cvScalar(0.0,0.0,0,0),cvScalar(20.0,0.0,0,0),tmpH1);  
     //cvInRangeS(S,cvScalar(75.0,0.0,0,0),cvScalar(200.0,0.0,0,0),tmpS1);  
     //cvAnd(tmpH1,tmpS1,tmpH1,0);  

    // cvCalcHist( &hue, hist, 0, mask ); // 计算直方图
     
     if (1)
     {
      float velue[] = {0,0,0};
      float d = sqrt(pow(colorVelue[0][0]-velue[0],2)+pow(colorVelue[0][1]-velue[1],2)+pow(colorVelue[0][2]-velue[2],2));
      
      cout<<d<<endl;
      *type = RED;
     }
     cvNamedWindow( "hsv", 1 );
     cvShowImage("hsv",roi); 
     //cvWaitKey(0);

     cvReleaseImage(&hsv);
     cvDestroyWindow("hsv");
     cvReleaseImage(&tmpH1);  
     cvReleaseImage(&tmpS1);  
     cvReleaseImage(&tmpH2);  
     cvReleaseImage(&tmpS2);  
     cvReleaseImage(&tmpH3);  
     cvReleaseImage(&tmpS3);  
     cvReleaseImage(&H);  
     cvReleaseImage(&S);  
     cvReleaseImage(&V);  
     cvReleaseImage(&src_tmp1);
       return *type;
    }

    int Color_difference_RGB( cv::Mat car, Rect r,int* type)
    {
     //复制ROI区域图像
     cv::Mat roiImage = cvCreateImage(cvSize(r.width, r.height), 8, 3 );
     car(r).copyTo(roiImage); 
     //
     /*cv::imshow("roi", roiImage); 
     cv::waitKey(0); */

     IplImage* roi = &roiImage.operator IplImage();  
       IplImage* R = cvCreateImage( cvGetSize(roi), IPL_DEPTH_8U, 1);  
     IplImage* G = cvCreateImage( cvGetSize(roi), IPL_DEPTH_8U, 1);  
     IplImage* B = cvCreateImage( cvGetSize(roi), IPL_DEPTH_8U, 1);      
      
     // 高斯模糊  
     //cvSmooth(roi,roi,CV_GAUSSIAN,3,3); //高斯模糊 ,作用????   
     cvCvtPixToPlane(roi,B,G,R,0);//分为3个通道,OpenCV中不管是Windows中Load的还是摄像头取得的都是BGR顺序排列的
     
     cvShowImage("R",R);
     cvShowImage("G",G);
     cvShowImage("B",B);
     //为这四幅图创建对应的直方图结构。
     int hist_size = 100;
     int hist_height = 100;
     float range[] = {0,255};
     float* ranges[]={range};
     CvHistogram* r_hist = cvCreateHist(1,&hist_size,CV_HIST_ARRAY,ranges,1);
     CvHistogram* g_hist = cvCreateHist(1,&hist_size,CV_HIST_ARRAY,ranges,1);
     CvHistogram* b_hist = cvCreateHist(1,&hist_size,CV_HIST_ARRAY,ranges,1);
     
     //计算直方图,创建用于显示直方图的图像
     cvCalcHist( &R, r_hist, 0, 0 );
     cvCalcHist( &G, g_hist, 0, 0 );
     cvCalcHist( &B, b_hist, 0, 0 );
     cvNormalizeHist(r_hist,1.0);
     cvNormalizeHist(g_hist,1.0);
     cvNormalizeHist(b_hist,1.0);
     
     //开始显示,这里对直方图进行了标准化处理,不然的话无法观察到明显的变化。
     int scale = 256/hist_size;
     IplImage* hist_image = cvCreateImage(cvSize(hist_size*scale,hist_height*3),8,3);
     cvZero(hist_image);
     float bmax_value = 0,rmax_value=0,gmax_value=0;
     float min_value; 
     int rmin_idx, rmax_idx,gmin_idx, gmax_idx,bmin_idx,bmax_idx; 
     float rmax=0,gmax=0,bmax=0; //保存最高峰值
     float ridx=0,gidx=0,bidx=0; //保存最高峰值的元素值

     cvGetMinMaxHistValue(r_hist, 0,&rmax_value,0,&rmax_idx);
     cvGetMinMaxHistValue(g_hist, 0,&gmax_value,0,0);
     cvGetMinMaxHistValue(b_hist, 0,&bmax_value,0,0);
     //cout<<"R最大值"<<(1-rmax_value)*255<<" "<<rmax_idx<<",G最大值"<<(1-gmax_value)*255<<",B最大值"<<(1-bmax_value)*255<<endl; 
     
      for(int i=0;i<hist_size;i++)
     {
      float bin_val = cvQueryHistValue_1D(r_hist,i);
      int intensity = cvRound(bin_val*hist_height/rmax_value);
      cvRectangle(hist_image,cvPoint(i*scale,hist_height),cvPoint((i+1)*scale - 1, hist_height - intensity),CV_RGB(255,0,0));  
      float k = (i+1)*255.f/hist_size;
      if (rmax<bin_val)
      {
       rmax = bin_val;
       ridx = k;
      }
     }

      cout<<rmax<<" "<<ridx<<endl;
     for(int i=0;i<hist_size;i++)
     {
      float bin_val = cvQueryHistValue_1D(g_hist,i);
      int intensity = cvRound(bin_val*hist_height/gmax_value); 
      cvRectangle(hist_image,cvPoint(i*scale,2*hist_height),cvPoint((i+1)*scale - 1, 2*hist_height - intensity),CV_RGB(0,255,0));
      float k = i*255.f/hist_size;
      if (gmax<bin_val)
      {
       gmax = bin_val;
       gidx = k;
      }
      
     }
     cout<<gmax<<" "<<gidx<<endl;
     for(int i=0;i<hist_size;i++)
     {
      float bin_val = cvQueryHistValue_1D(b_hist,i);
      int intensity = cvRound(bin_val*hist_height/bmax_value);
            cvRectangle(hist_image,cvPoint(i*scale,3*hist_height),cvPoint((i+1)*scale - 1, 3*hist_height - intensity),CV_RGB(0,0,255));
      float k = i*255.f/hist_size;
      if (bmax<bin_val)
      {
       bmax = bin_val;
       bidx = k;
      }
     }
     cout<<bmax<<" "<<bidx<<endl;
     cvShowImage("ZHIFANGTUr",hist_image);
     
     
     //颜色匹配
     float velue[] = {ridx,gidx,bidx};
     float dmin = 100000; //保存最小的距离
     int colorIdx = 0;
     for(int i=0 ; i < 10; i++)
     {
           float d = sqrt(pow(colorVelue[i][0]-velue[0],2)+pow(colorVelue[i][1]-velue[1],2)+pow(colorVelue[i][2]-velue[2],2));
       if (dmin > d)
       {
                dmin = d;
             colorIdx = i;
       }
     }
      cout<<"colorIdx:"<<colorIdx<<endl;
      *type = colorIdx;
     cvNamedWindow( "hsv", 1 );
     cvShowImage("hsv",roi); 
     cvWaitKey(0);
     //cvReleaseImage(&hsv);
     cvDestroyWindow("hsv");
     cvReleaseImage(&R);  
     cvReleaseImage(&G);  
     cvReleaseImage(&B);  
     //cvReleaseImage(&src_tmp1);
     cout<<"the colorof thiscar is:"<<colorIdx <<endl; 
       return *type;
    }

    int main(int argc, _TCHAR* argv[])
    {
     cvNamedWindow( "color recognition", 1 );//建立视频窗口
     IplImage* src = cvLoadImage("Img267346543.jpg");
     //读图像//
     image = cvCreateImage( cvGetSize(src), 8, 3 );
     cvCopy(src,image);
     cvSetMouseCallback( "color recognition", on_mouse); // 设置鼠标回调函数
     cvShowImage( "color recognition", image );//显示视频和直方图
     
     车牌区域选择函数// 
     for (int i=0;i<4;i++)
     {
      if (mark)
        {
         cout<<"区域坐标:"<<"x:"<<r.x<<", y:"<<r.y<<", width:"<<r.width<<", height:"<<r.height<<endl;
         cout<<"ok"<<endl;
        } 
     cvWaitKey(1000);
     cvRectangle(image,cvPoint(r.x,r.y),cvPoint(r.x+r.width,r.y+r.height),cvScalar(255,0,255) ,2, 8, 0);
     cvShowImage( "color recognition", image );
     
     }
     cvShowImage( "color recognition", image );
     cout<<"selection is ok"<<endl;
    // cvWaitKey(0);
     
    车牌区域选择函数//
     
     if (1)
     {
      int i;
      int j;

      j = Color_difference_RGB(src,r,&i);
      cout<<"the colorof thiscar is:"<< j<<endl; 
     }

     cvReleaseImage(&image);
     cvDestroyWindow("CamShiftDemo");
     return 0;
    }

     


    //int main( int argc, char** argv )
    //{
    // IplImage * src;
    // if (!(src = cvLoadImage("D:\\program Files\\matlab projects\\Lib行人数据库\\样本提取图像\\跑步姿势\\无标题.png")))
    // {
    //  cout << "没有找到源文件" << endl;
    //  return -1;
    // }
    //
    // IplImage* hsv = cvCreateImage( cvGetSize(src), 8, 3 );
    // IplImage* h_plane = cvCreateImage( cvGetSize(src), 8, 1 );
    // IplImage* s_plane = cvCreateImage( cvGetSize(src), 8, 1 );
    // IplImage* v_plane = cvCreateImage( cvGetSize(src), 8, 1 );
    // IplImage* planes[] = { h_plane, s_plane };
    //
    // /** H 分量划分为16个等级,S分量划分为8个等级 */
    // int h_bins = 16, s_bins = 8;
    // int hist_size[] = {h_bins, s_bins};
    //
    // /** H 分量的变化范围 */
    // float h_ranges[] = { 0, 180 };
    //
    // /** S 分量的变化范围*/
    // float s_ranges[] = { 0, 255 };
    // float* ranges[] = { h_ranges, s_ranges };
    //
    // /** 输入图像转换到HSV颜色空间 */
    // cvCvtColor( src, hsv, CV_BGR2HSV );
    // cvNamedWindow( "hsv", 1 );
    // cvShowImage( "hsv", hsv );
    //
    // cvCvtPixToPlane( hsv, h_plane, s_plane, v_plane, 0 );
    // cvNamedWindow( "h_plane", 1 );
    // cvShowImage( "h_plane", h_plane );
    // cvNamedWindow( "s_plane", 1 );
    // cvShowImage( "s_plane", s_plane );
    // cvNamedWindow( "v_plane", 1 );
    // cvShowImage( "v_plane", v_plane );
    //
    // /** 创建直方图,二维, 每个维度上均分 */
    // CvHistogram * hist = cvCreateHist( 2, hist_size, CV_HIST_ARRAY, ranges, 1 );
    // /** 根据H,S两个平面数据统计直方图 */
    // cvCalcHist( planes, hist, 0, 0 );
    //
    // /** 获取直方图统计的最大值,用于动态显示直方图 */
    // float max_value;
    // cvGetMinMaxHistValue( hist, 0, &max_value, 0, 0 );
    //
    //
    // /** 设置直方图显示图像 */
    // int height = 240;
    // int width = (h_bins*s_bins*6);
    // IplImage* hist_img = cvCreateImage( cvSize(width,height), 8, 3 );
    // cvZero( hist_img );
    //
    // /** 用来进行HSV到RGB颜色转换的临时单位图像 */
    // IplImage * hsv_color = cvCreateImage(cvSize(1,1),8,3);
    // IplImage * rgb_color = cvCreateImage(cvSize(1,1),8,3);
    // int bin_w = width / (h_bins * s_bins);
    // for(int h = 0; h < h_bins; h++)
    // {
    //  for(int s = 0; s < s_bins; s++)
    //  {
    //   int i = h*s_bins + s;
    //   /** 获得直方图中的统计次数,计算显示在图像中的高度 */
    //   float bin_val = cvQueryHistValue_2D( hist, h, s );
    //   int intensity = cvRound(bin_val*height/max_value);
    //
    //   /** 获得当前直方图代表的颜色,转换成RGB用于绘制 */
    //   cvSet2D(hsv_color,0,0,cvScalar(h*180.f / h_bins,s*255.f/s_bins,255,0));
    //   cvCvtColor(hsv_color,rgb_color,CV_HSV2BGR);
    //   CvScalar color = cvGet2D(rgb_color,0,0);
    //
    //   cvRectangle( hist_img, cvPoint(i*bin_w,height),
    //    cvPoint((i+1)*bin_w,height - intensity),
    //    color, -1, 8, 0 );
    //  }
    // }
    //
    // cvNamedWindow( "Source", 1 );
    // cvShowImage( "Source", src );
    //
    // cvNamedWindow("H-S Histogram", 1 );
    // cvShowImage( "H-S Histogram", hist_img );
    //
    // cvWaitKey(0);
    //}

     

    展开全文
  • 搜索 某出版社 请求的链接: http://m.dangdang.com/gw_search.php?key=%E6%9C%BA%E6%A2%B0%E5%B7%A5%E4%B8%9A%E5%87%BA%E7%89%88%E7%A4%BE&cat=01.00.00.00.00.00 &st=pub&show_type=pic&sid=2df46f9d4ecc2d79 ...

      闲来无事,刚好有这个需求。于是就练一下采集。。

    采集当当网的图书信息。。

    开始考虑 直接采集 当当网的电脑版(www.dangdang.com)但分析了下 估计正则有点难写。于是灵机一动,现在都是移动互联网时代了,肯定采当当网的 移动版网页 (m.dangdang.com) 简单 正则又好写  而且很有可能数据直接在返回的json上直接解析就行(淘宝网的移动版就是这样); 但打开当当网一分析 还是苦b的正则,而且 直到我写完了程序才知道 移动版当当网的人性化 只能翻6页 坑爹呀。。。

    搜索 某出版社    请求的链接:

    http://m.dangdang.com/gw_search.php?key=%E6%9C%BA%E6%A2%B0%E5%B7%A5%E4%B8%9A%E5%87%BA%E7%89%88%E7%A4%BE&cat=01.00.00.00.00.00

    &st=pub&show_type=pic&sid=2df46f9d4ecc2d79

    参数分析

    key =  urlencode 编码过的某出版社

    sid = 认证id  (不要也行)

    cat = 分类  (01.00.00.00.00.00是图书)

    其他参数没什么分析的 直接默认就行  不过可以自己带一个 page   但只能是1到6。。

    遇到的问题:

    1、坑爹的只能采6页 30本书    电脑的看了下 能采99页

    2、正则过多 采集特别慢  file_get_contents 在这里表现老打不开   估计用curl 采集会好点

    3、发现 当当网的图片 同一张图片有好几个大小不一的尺寸 如  sss_a.jpg  sss_b.jpg  sss_l.jpg  sss_e.jpg  sss_m.jpg  sss_s.jpg sss_f.jpg

     下面就是代码了:

    <?php
     /**
      * Created by JetBrains PhpStorm.
      * User: keygle
      * Date: 13-3-8
      * Time: 上午10:10
      * To change this template use File | Settings | File Templates.
      */
     
     /**
      * 返回打开url后得到的内容
      * @param $url  需要打开的url
      * @return string
      */
     function getData($url)
     {
         $opts = array(
             'http' => array(
                 "timeout" => 10,
                 "method" => "GET",
                 "header" => "User-Agent: Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7\r\n" .
                             "Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n" .
                             "Connection: keep-alive\r\n\r\n"
             )
         );
         $content = stream_context_create($opts);
         return @file_get_contents($url,FALSE,$content);
     }
     
     $key = urlencode('中国少年儿童出版社');
     $cat = '01.00.00.00.00.00'; //图书分类
     $page = 20;
     set_time_limit(0);
     $books = array();
     for ($i = 1; $i <= $page; $i++) {
         $url = "http://m.dangdang.com/gw_search.php?key=" . $key . "&cat=" . $cat."&page=".$i;
         $html = getData($url);
         preg_match_all('#<span class="prouct_name"><a href="([^"]+)"#iUs', $html, $urls);
         $bookUrls = $urls[1];
         if (is_array($bookUrls)) {
             foreach ($bookUrls as $val) {
                 $book = array();
                 $bookUrl = "http://m.dangdang.com/" . $val;
                 $urlInfo = parse_url($bookUrl);
                 $querys = explode('&', $urlInfo['query']); // $query = array('pid=20747626','sid=2bce9c29ecc1ea79','recoref=search')
                 $bookIntro = getData($bookUrl); // 图书页
                 //图书详情页url http://m.dangdang.com/product.php?pid=20747626&ac=more&cat=book
                 $bookIntroUrl = "http://m.dangdang.com/product.php?" . $querys[0] . "&ac=more&cat=book&" . $querys[1];
                 $bookContentUrl = "http://m.dangdang.com/product.php?" . $querys[0] . "&ac=content&cat=book&" . $querys[1]; // 图书内容简介
                 $bookContent = getData($bookContentUrl);
                 $bookHtml = getData($bookIntroUrl);
                 preg_match("#简介<\/strong>([^<]+)<div>([^<]+)<\/div>#iUs", $bookContent, $content);
                 preg_match('/<img src="(http:\/\/img[^"]+)"/iUs', $bookIntro, $image); //获取图书图片
                 preg_match("/<title>([\d\D]+)?-图书-手机当当网<\/title>/iUs", $bookHtml, $bookName);
                 preg_match("/作者:([^<]+)?<\/p>/iUs", $bookHtml, $author);
                 preg_match("/出版社: <a([^>]+)>(.*)?<\/a><\/p>/iUs", $bookHtml, $press);
                 preg_match("/出版时间:([^<]+)<\/p>/iUs", $bookHtml, $pubtime);
                 preg_match("/ISBN:([^<]+)<\/p>/iUs", $bookHtml, $isbn);
                 preg_match("/包装:([^<]+)<\/p>/iUs", $bookHtml, $pack);
                 preg_match("/页数:([^<]+)<\/p>/iUs", $bookHtml, $pages);
                 preg_match("/定价: <span([^>]+)>(.*)?<\/span>/iUs", $bookHtml, $price);
                 preg_match("/当当价: <span([^>]+)>(.*)?<\/span><\/p>/iUs", $bookHtml, $dd_price);
                 preg_match("/当当价: <span([^>]+)>(.*)?<\/span><\/p>/iUs", $bookHtml, $dd_price);
                 preg_match("/节省:([^<]+)?<\/p>/iUs", $bookHtml, $save);66             $book['content'] = trim($content[2]);
                 $book['image'] = $image[1];
                 $book['name'] = $bookName[1];
                 $book['author'] = $author[1];
                 $book['press'] = $press[2];
                 $book['pubtime'] = $pubtime[1];
                 $book['isbn'] = $isbn[1];
                 $book['pack'] = $pack[1];
                 $book['pages'] = $pages[1];
                 $book['price'] = $price[2];
                 $book['price'] = $dd_price[2];
                 $book['save'] = $save[1];
                 $books[] = $book;
             }
         }
     }
     echo '<pre>';
     print_r($books);

     

    转载于:https://www.cnblogs.com/keygle/archive/2013/03/08/2950106.html

    展开全文
  • EI收录中国期刊目录 Ei收录的文献中大约有22%的数据是会议论文   咨询(梁彬QQ26621053) EI核心版(《Ei Compendex》)收录的中文期刊 ISSN 期刊刊名 0567-7718 ...Acta
  • 中国图书出版业的滞胀现象 ———兼论出版改革的症结所在 [ 作者:巢峰转贴自:新华网点击数:101更新时间:2005-2-4文章录入:admin ]■巢峰宋木文与巢峰是出版界两位知名人士。一位曾担任过出版领域重要的领导...
  • 2005年新闻出版业基本情况二00五年全国新闻出版业基本情况来源:http://www.chinapublish.com.cn/syzx/dlcbygk/ndzk/200701/t20070110_8743.html 2005年全国出版图书、期刊、报纸总印张为2231.67亿印张,折合用纸量...
  • 《 Django企业开发实战》初版草稿-bythe5fire 博客: : github的: : 配套视频: 进阶视频: 原始 纸质版已上市 疑惑解答 问:视频图书有什么区别 答: 图书是在视频之后重新的,基于Python3.6Django 1.11...
  • 图灵出版社最近7年的畅销书

    千次阅读 2013-01-09 18:12:22
    3月, 《C++ Primer中文版(第4版)》(由C++大师Lippman、Moo前标准委员会主席Lajoie合著的“图灵计算机科学四大名著”之一)出版,此书为享誉世界的C++最佳教程,上市后受到广大读者热烈欢迎,至今已经印刷15万...
  • 一、出版社ERP系统建设面临的三大挑战 在系统建设中如何贯彻CNONIX国家标准 新ERP系统建设面临的挑战 技术体系及架构选择面临的挑战 二、系统建设实施过程控制 项目组织管控 项目技术管控 CNONIX国家标准体系...
  • 台湾印刻出版社。此书创作三年。出版困难重重。辗转两年。修改不下百次。2013年2月由台湾印刻出版。此书献给生于1960年代的中国人。 精神上历经兵荒马乱的人,事后大多沉默。满腔热血化为死水,信仰流浪成狗。...
  • 传媒行业周报:我们将知识付费、教育与广义出版列为并行的内容延伸.pdf
  • SpringBoot+Vue讲解系列介绍(本专辑实体书已出版

    千次阅读 多人点赞 2019-12-04 16:07:35
    Spring Data JPA精讲》 《SpringBoot讲解五:日志组件之LogbackLog4j2》 《SpringBoot讲解六:定时任务之Spring TaskQuartz》 ======= 本专辑在编写期间由编辑推荐,现已由电子工业出版社博文视点出版。...
  • 本文为原创,如需转载,请注明作者出处,谢谢! Java Web开发速学宝典 定购china-pub当当网 北京新华书店市场价 : ¥59.00 普通会员 : ¥48.38 1-3星会员: ¥47.20 4-5星会员: ¥45.43 ...
  • 《中国图象图形学报》文后参考文献编排格式说明:中文文献要求英中对照,作者按姓前名后排,作者之间用逗号,欧美作者的名缩写,并略去缩写点...出版地:出版者,出版年:起讫页码例:[1] 刘国钧,陈绍业,王凤.图书...
  • 3D数学基础:图形与游戏开发。清华大学出版初版。图形与游戏开发入门的帮手。
  • 《PCI Express系统结构导读》-读后

    千次阅读 2011-04-23 17:58:00
    这本《PCI Express系统结构导读》是我读过的少有的几本21世纪后初版(注意不是出版而是初版)的且是国人写的书之一,我指的不仅仅是技术书籍,任何书籍都是包括,包括历史类的,文学类的等等。  这本书...
  • 那些影响深远的教材 Aho 和 Ullman 两人共合著了 9 本影响深远的教材(包括初版和更新版本),其中最受欢迎的是《计算机算法的设计与分析》(1974)和《编译器设计原则》(1977)。 如果有人问「大家在计算机学习...
  • 清华大学出版社 1999年初版 C++语言
  • 经过近一年的沉淀总结,《OpenCV3编程入门》一书终于大家见面了。最近有为数不少的小伙伴们发邮件给浅墨建议最好在博客里面贴出这本书的目录,方便大家更好的了解这本书的内容。其实最近浅墨实在是有些忙...和出版
  • 昨天( 5 月 28 号 )由社科文献出版初版的《大数据蓝皮书:中国大数据发展报告 No.2 》正式发布了。以“数化万物 智在融合”...
  • 作者:小楼一夜听春雨。出版社:人民邮电出版社。初版日期:2016年2月第一版,2016年4月北京第3次印刷。定价:89.00元
  • http://www.china-pub.com/computers/common/info.asp?id=30581Random Matrices, Volume 142, Third Edition这是一本名著,初版于1 968年,1991年出了第2版,著名的Elsevier出版公司于2004年出版了第3版。...
  • 一本专注于依赖注入的技术书籍。 本书由GOOGLE软件工程师编写,不仅介绍了依赖注入相关的技术知识,而且讲解了与之相关的SpringGuice框架。...MANNING出版初版,全英文版,有详细书签目录,值得学习收藏。
  • 是人邮出版社图灵程序设计丛书初版。 这里称为"艺术",个人觉得有点过了,但是其中关于gdb以及在gdb基础之上集成的DDDEclipse调试技巧的整理确实是做的很好,对于Linux/开源社区下的开发人员以及其他平台技术gdb...
  • Tuxedo系统经典作者:经乾出版社:北京电子工业出版初版日期:2007-11-1第1章 TUXEDO系统概述分布式系统的联机事务处理(OLTP)领域。1、事务监视器2、交易中间件3、应用服务器特性:强大的C/S通信功能、强大的...
  • 上海科学技术出版社,十二五国家重点图书初版规划项目, 大数据与应用-能源大数据

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 823
精华内容 329
热门标签
关键字:

出版和初版