图像处理中标签如何设置_kera中图像增强如何对图像标签进行处理 - CSDN
  • #文件路径file_list = [] #建立列表,用于保存图片信息file_label=[]#读取图片文件,并将图片地址、图片名和标签写到txt文件write_file_name1 = "/media/×××/新加卷/test.txt"#write_file_na...


    import re

    import os #os:操作系统相关的信息模块

    data_base_dir = "/home/×××/data"#文件路径

    file_list = [] #建立列表,用于保存图片信息
    file_label=[]
    #读取图片文件,并将图片地址、图片名和标签写到txt文件中
    write_file_name1 = "/media/×××/新加卷/test.txt"
    #write_file_name2 = '/media/×××/新加卷//listingtest.txt'
    write_file1 = open(write_file_name1, "w") #以只写方式打开write_file_name文件
    for file in os.listdir(data_base_dir): #file为current_dir当前目录下图片名
     if file.endswith(".jpg"): #如果file以jpg结尾
      #print(file)
      tupian= file
      num=re.sub(r'\D'," ",tupian)
      #print(num)
      regex=re.compile("\s\d{4}")
      lis=regex.findall(num)
      #print(int(lis[1])-int(list[0]))
      age1=lis[0]
      age2=lis[1]
      #print(int(age2)-int(age1))
      label=int(age2)-int(age1)
      #print(label)
      #print(str(label))
      #print(file_list)
      write_name ="/media/×××/Wikitest/"+ file+" "+str(label) #图片路径 + 图片名 + 标签
      print(write_name)
      file_list.append(write_name) #将write_name添加到file_list列表最后
      #file_label.append(label)  # 将write_name添加到file_list列表最后
      sorted(file_list) #将列表中所有元素随机排列
    number_of_lines = len(file_list) #列表中元素个数
    print(file_list)
    print(file_label)
    print(number_of_lines)
    #将图片信息写入txt文件中,逐行写入
    for current_line in range(number_of_lines):
        write_file1.write(file_list[current_line]+ '\n')
    #关闭文件
    write_file1.close()

    展开全文
  • UI技术面试题库

    万次阅读 2018-08-15 13:50:28
    声明:此次是收集互联网整理,如有侵权请联系本人进行删除 ps:如果大家有的也可以和我讨论,希望你们能提出宝贵建议,进行修改! UI类: 1、你平时用的网站和app你最喜欢哪个,列举两个并对其进行分析?...

    声明:此次是收集互联网整理,如有侵权请联系本人进行删除

    ps:如果大家有的也可以和我讨论,希望你们能提出宝贵建议,进行修改!

    UI类:

    1、你平时用的网站和app你最喜欢哪个,列举两个并对其进行分析?为什么喜欢?

    答案:花瓣、站酷、追波、ui中国。花瓣、设计师、慕课网、优设网、qq音乐、高德地图。

    2、你认为做手机UI最难的地方在哪?

    答案:尺寸众多。

    3、对无线互联网未来的发展有什么看法?

    答案:全无线互联网的时代

    4、公司想针对于"节假日回家"这一行为开发一款互联网产品,需要写一个项目策划,用户潜在需求,时间和工作人员分工,功能流程框架,网站首页草图和另外某一屏草图。

    5、列出至少5个国内外对应网站

    答案:GoogleVS百度人人VSfacebook花瓣VSpintersetGmailVSfoxmailhitfmVS虾米

    6、列出至少5个生活中用户体验不方便的案例,如电梯的上与下

    7、说说如何理解交互设计的

    答案:交互设计,又称互动设计,(英文Interaction

    Design,缩写IxD或者IaD),是定义、设计人造系统的行为的设计领域。人造物,即人工制成物品,例如,软件、移动设备、人造环境、服务、可佩带装置以及系统的组织结构。交互设计在于定义人造物的行为方式(the "interaction",即人工制品在特定场景下的反应方式)相关的界面。交互设计作为一门关注交互体验的新学科在二十世纪八十年代产生了,它由IDEO的一位创始人比尔·摩格理吉(Bill

    Moggridge)在1984年一次设计会议上提出,他一开始给它命名为“软面(Soft Face)”,由于这个名字容易让人想起和当时流行的玩具“椰菜娃娃(Cabbage Patch doll)”,他后来把它更名为“Interaction Design”,即交互设计。

    5、给你个我们公司的网页,你能给我重新设计下吗?

    6、可以给我们公司设计一款公司员工内部用的app吗?

    7、你喜欢什么样的图标?为什么喜欢?

    答案:扁平、写实

    8、你认为ui设计师最注重的是什么啊?

    答案:创新

    9、对按卓手机的理解,安卓手机与iphone在界面设计上的区别,你认为在以往的工作中学到了什么,答案:通过实例来阐述界面设计中产品交互的重要性?

    11、你说说你平时喜欢的素材网都有哪些啊?

    答案:花瓣站酷千图pinter

    12、你觉得现在的交友网还有哪一点没有满足客户的需求啊?

    答案:真实性

    13、你认为你现在在那个方面还是有欠缺的?

    答案:跟国外的设计师比创新还不够。

    14、你知道自己的作品的缺点是什么吗?

    答案:只能满足大部分的需要,还不能满足所有人。

    15、你认为你的技术能胜任这份工作吗?

    答案:能

    16、你都使用过哪些APP?

    答案:......

    17、你有没有独立完成整套设计的能力?

    答案:有

    18、百度和google,你看哪个觉得更舒服一点?

    答案:谷歌

    19、这个颜色用的不错,你是怎么选出来的?

    答案:自然中的颜色。公司主色。素材图片中的颜色。

    20、你对O2O有了解吗?

    答案:O2O即Online To

    Offline,是指将线下的商务机构与互联网结合,让互联网成为线下交易的前台,这个概念最早来源于美国。O2O的概念非常广泛,只要产业链中既可涉及到线上,又可涉及到线下,就可通称为O2O。

    21、你觉得哪个APP做的更好?为什么?

    答案:微信,首先界面方面微信没有大的瑕疵。其次从功能上微信足够强大。最重要的还是微信在用户体验方面做的努力。微信在小的细节方面做的很到位,让我印象最深的就是它会把你的短信验证码自动填到输入框里,这点用安卓手机的人都会觉得超级方便。

    22、切片存的格式?

    答案:PNG-24。

    13、给我说下你做这套APP的思路吧。

    答案:我这套APP是干什么的?针对哪些用户?用户用我的APP能得到些什么?我能得到些什么?

    14、你的作品是改版的吧?你为什么这样改?

    答案:说说你对你改版的那套APP的认识。优点(哪些是你保留的),缺点(你改了的),为什么这样改。

    15、你对扁平化的看法?

    答案:缓解人们的审美疲劳。良好的用户体验,视觉上让重点更突出,按钮可点击区域更大。可以提高工作效率。

    16、你做的网站可视区域多少?

    答:960px。

    17、我们公司是做电商平台类的应用,你能做吗?

    答案:能不能看自己。

    18、一般网页颜色不超过几个?

    答案:5个。

    19、网页广告最常用的布局?

    答案:左右布局。

    20、「界面设计」「视觉设计」「交互设计」之间的关系是什么?如何理解?

    答案:先区分一下“界面”、“视觉”、“交互”这三个词。“界面”是机器中的一部分——通过这个部分,用户可以了解机器的状态、对机器进行控制、并获取反馈。“界面”不仅包括图形界面,也包括实体界面。“视觉”是一种人的感官类型——通过这一个感官,用户可以了解信息,感知物体,被激发情绪。“视觉”不仅包括美观,更包括引导。“交互”是一种行为类别——在这种行为类别中,用户会发出自己的行为请求,接受者随之给予用户反馈和后续行为的引导。本质上来讲这三者没有比较的意义,因为它们是不同视角下的概念。

    、国内比较有名的网页设计师你知道的有哪些?(一般至少要说2个)

    答案:杨华在网页设计及摄影方面都有成就。韩雪冬作品比较简洁,高大上。

    22、你对国内和国外的网页设计有什么了解?

    答案:国外现在比较流行简洁和扁平化。国内比较混乱。扁平化刚流行。

    23、简述RGB显示模式与CMYK模式的区别

    答案:RGB模式是图像显示模式,主要是在电子设备显示的一种模式,CMYK是印刷模式,需要做印刷作品的时候才会使用CMYK模式。

    24、谈谈你对HTML和CSS的理解

    答案:HTML是超文本标记语言,通俗一些更像是架构。就像是人的骨架,最后构成了完整的人体。而CSS则像是一位修饰工人,把架构的每一块做出不同的样式出来,也像是一件一件漂亮的衣服,给HTML架构打扮的更加漂亮。

    25、你的爱好有哪些。

    答案:篮球、足球、唱歌等就可以。

    26、你在学校有哪些表现突出的或者参加什么社团或者获过哪些奖项?

    答案:首先应该组织语言把参加的组织说出来,然后在说担任什么职务或者表现方面说下,最后组织自己的语言清楚的表达出自己获得过哪些奖项。

    27、你认为作为一名设计师是软件技术重要还是好的创意重要。

    答案:都重要缺一不可,首先脑中有好的创意然后我有好的操作技术把创意做出来。

    28、如果工作有压力,经常加班你会如何应对?

    答案:我会合理调节自己的时间,把压力分散掉。加班是公司要求的我会积极配合。并且我相信付出就会有回报。

    29、1.目前在Internet上应用最为广泛的服务是什么?

    答案:WWW服务

    30、WEB安全色能够显示颜色种类是多少?

    答案:216种。

    31、简述选择符的作用及分类。

    答案:选择符作用在于定义CSS的名称,以便引用。在CSS中主要有三种选择符:(1)超文本标记选择符;(2)类选择符;(3)ID选择符。

    32:简述HTML文件的基本标记组成。

    答案:HTML文件的基本标记组成为:(1) (2) (3)

    33、简单说明自己的不足与优点。

    答案:把自己的不足尽量简短的说明,优点尽量说一些工作中团结,热爱工作的内容。

    34、你最快什么时候能上班?

    答案:随时可以上班,尽量不要拖时间。

    35、怎么设置透明度使得IE和非IE内核都兼容?

    答案:filter:alpha(opacity=100)这是针对IE浏览器,opacity:1这是针对非IE内核的浏览器。

    36、添加图层蒙板,怎么使内容透到下面去?

    答案:黑透白不透。

    37、怎么恢复PS软件的默认设置?

    答案:打开软件的同时按住shift+ctrl+alt,然后选择删除配置文件。

    38、在网页里面都支持什么格式的图片与动画

    答案:支持png、jpg和gif。

    39、A4纸的国内与国际尺寸

    答案:国内210*285,国际210*297

    40、网页设计应该注意哪些内容?

    答案:六个纬度:色彩;文字;图像;版式;规范;细节。41、使用CSS布局的网页应实现哪些要求?

    (1)宽度使用多列布局,并保证页头和页脚正确显示;

    (2)可以指定列宽度固定,其余列宽度自适应;

    (3)在html中,个列可以任意顺序排列,最终效果都正确显示。

    42、设计一款手机开机动画,写出设计思路及使用到的工具软件,

    43、CSS布局方法与表格布局方法相比,有哪些优势?

    答案:(1)页面载入更快;(2)降低网站流量费用;(3)易于修改;

    (4)视觉一致(5)更易于被搜索引擎找到。

    44、在用户界面设计的常用软件有Photoshop、Illustrator、Flash、Maxon Cinema 4D R11、IconCool Studio V2.8和JPEG Optimier,以上软件你都用过哪几种?请对你使用过的软件进行分析,阐述用途和常规特性

    45、请列举你熟悉的浏览器,并描述其开发、设计上需要注意的问题。

    答案:360搜狗谷歌safari opera火狐

    46、如果背景是黑色,你认为字体用什么颜色能突出字体,且不显得刺眼?

    答案:浅灰

    49、对以下软件开发中UI操作流程进行排序()

    ①设计页面②蓝图评审③需求确认④页面调整

    ⑤UI检测报告⑥制作静态页面⑦页面检查⑧与业务进行页面确认

    50、对于网站来说,页面的操作步骤少就少用户体验好,对吗,为什么?

    答案:不对

    51、一个网站一般有几种主色?几种辅色?请举一个实际网站使用主辅色效果较出色的例子:

    答案:3种。

    1、你是怎么理解UI?什么叫UI设计?英语全拼怎么写?什么是UE?广义跟狭义UI的区别?

    答案:UI即User Interface(用户界面)的简称。UI设计则是指对软件的人机交互、操作逻辑、界面美观的整体设计。好的UI设计不仅是让软件变得有个性有品味,还要让软件的操作变得舒适、简单、自由、充分体现软件的定位和特点。

    “用户体验”,UE(User Experience)指的是软件应用和审美价值,是以用户至上的观点作为基石的。主要由以下四种因素构成:1、印象(感官冲击)2、功能性3、使用性4、内容UE用户体验英文叫做user experience,缩写为UE,或者UX。

    当指电子商务网站的时候也被称作顾客体验(CUSTOMER EXPERIENCE).它是指用户访问一个网站或者使用一个产品时的全部体验。他们的印象和感觉,是否成功,是否享受,是否还想再来/使用。他们能够忍受的问题,疑惑和BUG的程度用户体验是从网站整体上去衡量在内容、用户界面(UI)、操作流程、功能设计等多个方面的用户使用感觉。而UI仅仅是指用户使用界面、流程。

    2、列举你所知道的颜色模式?设计时,你喜欢用那些颜色?你的配色技巧有哪些?

    答案:RGB模式、CMYK模式、HSB模式、Lab颜色模式、位图模式、灰度模式、索引颜色模式、双色调模式和多通道模式

    色相改变,饱和度和亮度不变

    色相不变,饱和度和亮度改变

    配色技巧:1、黑、白、金、银、灰是无彩系能和一切颜色相配。

    2、与白相配时,应仔细观察白得偏向哪种色相,如偏蓝应作淡蓝考虑,黄则属淡黄

    3、有明度差的色彩更容易调和,一般有3级以上明纯度差的对比色都能调和(从黑到 白共分十一级), 所以配色要拉开明度最关键。

    4、在不同色相的颜色中汆入相同的黑或白就容易调和。

    5、互补色(对比色可单独使用)这种色彩之间强烈对比在高纯度的情况下会引起色彩的颤动和不稳定感,在搭配中一定要处理好这种情况,不然会使得画面冲突非常严重并破坏整体。但是很显然的是,在各种色相搭配中,互补色搭配无疑是一种最突出的搭配,所以如果你想然你的作品特别引人注目,那互补色搭配或许是种最佳选择。

    6、近似色一般这种色彩之间搭配显得平静而舒服。但是使用中要适当加强对比,不然可能使画面显得平淡。

    7、要有主色调,要么暖色调,要么冷色调,不要平均对待各色,这样更容易产生美感。

    8、暖色系与黑调和,冷色系与白调和。

    9、在色环上按等间隔选择3-4组颜色也能调和。

    10、在配色时,鲜艳明亮的色彩面积应小一点。

    11、本来不和谐的两种颜色镶上黑色或白色会变得和谐。

    12、与灰色组合时,明度差不要太大。13、有秩序性的色彩排列在一起比较和谐。

    14、在蒙赛尔色立体中,其纵向、横向、斜向甚至于螺旋形排列都有秩序。

    15、有多种颜色配在一起时,必须有某一因素(色相、明度、纯度)占统领地位。

    3、你所知道的手机系统平台?

    答案:1、谷歌android系统,主流版本2.2

    2、微软WM6、WM7系统,主流版本6.5

    3、塞班S60 V5,S60 V3以及Symbian 3

    4、Java非智能系统

    5、三星bada系统

    6、苹果IOS系统

    7、webos系统

    8、linux系统-(MOTO),meego(诺基亚n9,官方已放弃、)、联想乐os、miui(基于安卓系统开发的),webos(hp收购得到的os)、国产机,山寨机,斯凯-MTK(台湾联发科)。

    3.例举你所知道的手机图标样式?他们的区别在哪?

    答案:2D扁平化风格:1、剪影(单行图标):线条和块状;2、2D彩色图标(没有拟物化效果)

    2D拟物化风格

    3D图标(写实)

    4.图标统一性体现在那些方面

    答案:造型:规则形状和不规则形状

    风格:扁平化和拟物化

    颜色:大自然颜色和情感颜色

    样式:全局光等

    5.你对扁平化的看法

    答案:缓解人们的审美疲劳;良好的用户体验;视觉上让重点更突出;按钮可点击区域更大;可以提高工作效率

    6.iPhone的屏幕尺寸分辨率图标大小(圆角)

    答案:IOS 6:iPhone 1/3G/3GS3.5英寸320*480px57*57(10px)

    iPhone4/4S3.5英寸640*960px114*114(20px)

    iPhone54英寸640*1136px114*144(20px)

    IOS 7iPhone5S/5C4英寸640*1136px120*120(27px)

    IOS 8iPhone64.7英寸750*1334px

    iPhone6 Plus5.5英寸1920*1080px

    iPad 1/2 /mini 1/29.7英寸1024*768pxios6:72*72(12px)

    ios7:76*76(16px)

    new iPad(3)/iPad4/ios6:144*144(24px)

    iPad Air(5)/mini39.7英寸2048*1536pxios7:152*152(32px)

    iPad mini7.9英寸1024*768px

    7.Android的屏幕分辨率

    答案:08年:240*320px;09年:320*480px;10年:480*800px;标准Android 4寸:480*854px;11年:640*960px;12年-13年:720*1280px;14-15年:1080*1920px

    iphone一般取用640*960的尺寸设计

    APP界面一般由四个元素组成,中文字体:方正黑体简体,英文字体:Helvetica

    状态栏、导航栏、主菜单栏、中间的内容区

    40px88px98px734px/ 5系列就是910px;

    Android一般取用720*1280的尺寸设计

    APP界面的组成元素和iphone基本相同,字体:方正兰亭黑体

    状态栏、导航栏、主菜单栏、中间的内容区

    50px96px96px1038px

    WP设计规范

    答案:480*800:电池电量条32px;顶部条空隙182px,文字黑体;底部条高度72px,剪影图标48*48px;瓷片大小173*173px;

    网页类:

    1、IE6的margin双倍边距bug问题

    例如:

    body{margin:0;}

    div{float:left;margin-left:10px;width:200px;height:200px;border:1px solid red;}

    浮动后本来外边距10px,但IE解释为20px,解决办法是加上display:inline

    2、firefox浏览器中嵌套div标签的居中问题的解决方法

    假定有如下情况:

     

    如果要实现b在a中居中放置,一般只需用CSS设置a的text-align属性为center。这样的方法在IE里看起来一切正常;但是在Firefox中b却会是居左的。

    解决办法就是设置b的横向margin为auto。例如设置b的CSS样式为:margin: 0 auto;。

    3、提问:

    你接到一个客户的网站,在你设计好初稿后给客户看,被否定了,然后次稿,又否定了,3次,4次..N次,客户都不满意,你怎么办?

    回答:

    1.这种事情要尽量的少发生在自己的身上,其实已经做了4/5版,你的沟通能力其实已经让人怀疑了,这种事情发生过两次后,应该对你也是一个非常好的锻炼,所以4/5版.....,当你有一定经验的时候,是有办法避免的

    2.设计前的沟通非常重要,别嫌麻烦,一定要多问客户,把客户的需求最大化,不需要客户明确的告诉你怎么布局,用什么图片和颜色,关键了解客户在意的是什么,再引导客户,帮客户将其需求缩小,再具体化,这样商量好后,你就能按照你引导客户的思路去做了

    3.个人觉得,设计稿超过2版后,客户还不满意,就应该要主动找客户当面谈了,或者直接去他们公司,一是让客户觉得你对他们的网站工作很认真,一方面很多话当面能够说的更清楚,更能明确了解客户的真实想法

    4.真正要避免设计稿推翻重做,还是要练内功的,任何网站做好了都会有修改,但和推翻重做绝对是2个概念,当你的设计水平慢慢上升,沟通能力越来越好,越能把握住的客户的想法和需求时,你会发现难道搞定的客户越来越少了

    4. Html的含义是什么?其主体部分由什么标记构成?

    【解答】

    HTML即Hyper Text Markup Language超文本标记语言,是构成网页最基本的元素。标记和之间的内容构成了HTML的主体部分,网页中的所有内容,包括文字、图形、链接以及其他页面元素都包含在该标记符内。

    5.标记br和p有什么区别?

    【解答】

    标记br和p都可以用来换行,但是二者是有区别的。
    标记使当前行强行中断而另起一行,但是新行与原来的行保持相同的属性,即新行与原来的行属于同一段落,而

    标记在换行的时候另起了一新的段落;
    标记无对应的结束标记
    ,而

    标记必须和

    配合使用,不能省略。

    6、说明在网页设计中层的作用。

    【解答】

    层,也就是DIV标记,是一个区块级的HTML标记,在该标记之间可以添加段落、表格、图片等内容,使同一个DIV标记中的元素具有相同的样式,并可在页面显示时同时出现、移动以及隐藏。

    它的主要作用有以下两点:(1)将一些标记元素组织起来,应用DIV的属性为这些标记元素定义统一的样式;(2)利用其z-index属性,实现页面内各元素的重叠显示效果;(3)使页面上显示更多的特效功能。

    7、母版页的作用是什么?

    【解答】

    母版页(Master Page)的扩展名为“.master”,它相当于网页的模板。在其他网页中,只要引用了母版页,母版页的页面就可以自动显示出来,设计者可以修改引用的母版页中预留的部分,其它部分保持不变,这样就可以使多个页面的风格保持一致,给网页设计带来了很大的方便。

    8、Css指的是什么?在网页制作中为什么要使用CSS技术?

    【解答】

    CSS(Cascading Style Sheets)也叫层叠样式表,它是用来控制网页中一个或多个元素的外观。在网页制作中,使用样式表可以减少很多具有相同外观元素的重复设置工作,从而给网页的设计和维护带来了很大的方便;具体应用是:改变样式表中元素显示样式的定义,则在使用该样式表的所有网页中相应元素的显示样式都会自动发生改变。

    9、网页制作中有哪几种样式设置方法?各有何特点?

    【解答】

    网页制作中有:内联式样式设置、直接嵌入式样式设置和外部链接式样式设置三种方式。

    1)内联式样式设置:

    设置方法:直接在要设置样式的各标记元素中修改style属性;

    优点:直观、方便;

    缺点:不易于维护和修改;

    适用于:网页中个别需要修改的元素的样式定义;

    2)直接嵌入式样式设置:

    设置方法:在HTML文档的之间添加定义,部分是所有需要设置样式的元素的属性定义。

    优点:对当前页面内的所有元素的样式修改、维护比较方便;

    缺点:对于网站建设,要采用相同的样式设置则比较麻烦;

    适用于:单独网页的样式定义;

    3)外部链接式样式设置:

    设置方法:把所有样式定义放在一个独立的文件中,凡是需要使用该文件中规定样式的网页,只要在其与之间添加一个对该样式文件的链接:即可;

    适用于:需要统一显示样式的网站建设。

    10、用户自定义的类和ID在定义和使用时有什么区别?

    【解答】

    定义时,类以英文形式的句点“.”为起始标志,ID以“#”为起始标志;使用时,类可以在一个页面中被多个不同的元素引用,而ID在一个页面中只能被引用一次。

    11、什么是脚本语言?目前流行的有哪些脚本语言?主要区别是什么?

    【解答】

    脚本语言是一种介于HTML语言和C++、Visual Basic等程序设计语言之间的语言,它在形式和功能上可能更接近后者,但它并不是应用程序开发语言,所以语法规则没有那么严格和复杂,也无需编译。目前流行的浏览器脚本语言主要有:ECMAScript、Jscript、javascript、VBScript等。

    VBScript是Visual

    Basic的子集,是特意为在浏览器中进行工作而设计的,它不包括一些在脚本这个范围以外的特性,如文件访问和打印等等。它是基于Microsoft的Visual Basic语言。目前只有Microsoft Internet EXPlore版本3或更高的版本支持VBScript,Netscape的浏览器并不支持VBScript。

    JScript从一组编程语言如C,

    C++以及Java等之中脱离出来的,是Microsoft公司在其Internet Explore 3.0浏览器中开始实现的解释性脚本语言。Jscript来源于Netscape公司出版的JavaScript文档,但是并不具有JavaScript的全部特性。

    JavaScript是基于SUN公司的JAVA语言,用于创建动态的联机应用程序,这些程序能够将客户端和服务器端的对象和资源连接在一起。Microsoft Internet Explore和Netscape

    Navigator均支持JavaScript。

    12、平面和网页的区别

    平面是由显示元素构成;网页由功能模块构成;

    13、你都知道哪些类型的网页

    电商类、应用类、个人类、平台类、政府类

    企业类:字多图少,页面内容不多,页面高度一般在1-2屏,结构简单。

    专题类:只有一个页面,只介绍一款产品,图多,字少,强调设计效果。

    门户类:以提供信息资讯为主,涵盖的工作类型多,信息量大,访问群体广,但所包含的功能却比较简单。比如新浪、搜狐、新华网等。

    14、img和background-image什么情况下用

    通常有宣传意义的图像一定要用img标签;通常只做修饰效果的图片用背景图。

    15、你觉得一张完整的网页都有哪些模块组成?门户网站与专题页的区别?

    首页页面结构都会包括页面标题、网站LOGO、导航栏、登录区、搜索区、热点推荐区、主内容区和页脚区(如图),其他页面一般由页面标题、网站LOGO、导航栏、主内容区和页脚区等构成

    16、如何理解浏览器兼容问题?如何理解动态网页与静态网页的区别?如何解决兼容器的问题?

    浏览器兼容性问题又被称为网页兼容性或网站兼容性问题,指网页在各种浏览器上的显示效果可能不一致而产生浏览器和网页间的兼容问题。因为不同浏览器使用内核及所支持的HTML等网页语言标准不同;以及用户客户端的环境不同(如分辨率不同)造成的显示效果不能达到理想效果。

    浏览器兼容问题一:不同浏览器的标签默认的margin和padding不同,解决:*{margin:0;padding:0;}

    浏览器兼容问题二:块属性标签float后,又有横行的margin情况下,在IE6显示margin比设置的大。解决:在float的标签样式控制中加入display:inline;将其转化为行内属性。

    图片默认有间距:使用float属性为img布局

     

    17、你所知道的计算机系统?

    Windows系列操作系统

    微软公司生产;

    2.Unix类操作系统

    如SOLARIS,BSD系列(FREEBSD,openbsdnetbsd,pcbsd);

    3.Linux类操作系统

    如UBUNTU,suse linuxfedora,等

    4.Mac操作系统

    苹果公司生产(Darwin),一般安装于MAC电脑。

    18、动态页面跟静态页面的区别?分别有什么作用?

    主要是看是否与数据库发生交互,是否调用数据。静态页面主要用来宣传和展示。动态页面主要是用户体验,实现在线购买

    19、HTML中定义表格的宽度用80px与80%的区别是什么?

    px表示像素,%表示占整个页面宽度的百分比。

    20、网页制作过程中,你会考虑到哪些东西?如果跟前端沟通交流?

    六个维度:色彩、文字、图像、版式、规范、细节

    如果是单纯的静态页面,主要是交流如何切图,节省空间。如果需要动态效果,就需要提前交流程序员的水平,以及是否能实现效果。考虑兼容性以及响应式布局。

    21、网页的安全宽度

    网页内容宽度必须小于或等于浏览器窗口宽度;在主流分辨率中以较小的分辨率来确定内容宽度;计算公式:用屏幕分辨率-浏览器垂直滚动条的宽度(IE:21px;其它:20px)

    22、网页中使用的图像格式

    GIF,JPG,PNG

    23、WEB界面色彩设计常用方法

    主色调(面积多),出现在页面,包括logo、导航、搜索等区域

    对比色(面积少),重点的文字,价格

    背景色,一般白色或浅灰

    24、WEB安全色能够显示颜色种类是多少?(216种)

    25、CSS布局方法与表格布局方法相比,有哪些优势

    1、页面载入快2、降低网站流量费用3、易于修改4、视觉一致5、更易于被搜索引擎找到

     

     

    平面类:

    一、设计理念方面的问题

    (以下问题没有标准答案,但可以在沟通的过程是了解对方理论方面的深浅程度):

    1、你是如何理解设计工作的?

    设计就是玩

    2、设计与绘画艺术有什么最本质的区别?

    以自我为中心(供人欣赏,满足精神力,太过自我)与以商业为中心(传递市场信息,给客户带来利益,吸引消费群众,增强购买力)的区别。

    3、为什么常有人说"纯艺术做的好的人大多不能同样在商业美术有很高的成就"呢?

    太过自我的人在商业社会有所成就不易,很难被接受。

    4、商业设计的服务对象是什么?

    市场。(一是客户,二是目标受众)

    5、商业设计的设计水平是学校里学习来的吗?为什么?

    不是,要靠自己才能学得来,生活中学习。

    6、你在学校学习的时候学过什么样的相关课程?

    了解一下

    7、设计有没有最好的概念?

    没有最好,只有最合适

    8、设计作品好坏的标准在哪里?

    较高审美下的创造性,服务于商业。信息承载和文化认同,差异化表现,构成的美学高度,服务于商业。

    9、平面设计工作是如何进行?有哪些一般可行的过程?

    有经验的人会有好的方法,视情况而定

    10、目前国内外最时尚的平面设计理念是什么?

    简约风,美指很简洁

    11、在你所见的平面设计作品中你认为哪些国家或地区的作品令你印象深一些?为什么?

    看出一个人的欣赏水平层次

    12、国内你最欣赏的平面设计师有哪些?

    13、国内的平面设计作品对你印象最深的是哪些?

    14、你认为最成功的平面设计作品是什么,举一二例子说明一下?

    15、国外的发达国家的平面设计状况是怎样的?

    16、中国的平面设计与国外的同行比较有什么样的优势与不足?

    优势在于起步虽晚但机会多,不足在于观念与创新能力

    17、国内做平面设计最发达的地区有哪些?这什么?

    北上广深,与经济发展密切相关

    18、国内做平面设计工作的一般是有什么教育背景的人员?

    大部分是接受过绘画,设计教育的人员,少数例外

    19、国内发达地区平面设计的一般收入状况是怎样的呢?

    20、你曾经服务的企业你认为最得意的作品是什么?

    21、你与他人合作完成的作品中最成功的案例是什么?

    22、你如何认识品牌?设计与品牌的关系是什么?

    企业经营的所有工作都是在做品牌,设计工作只是其中的一小部分

    23、从学校参加工作以来你的设计思路是用语言还是用手来表达的?

    24、你经历的广告公司有什么样的机构和部门?你觉得最重要的部门是什么?

    25、你觉得自己最大的长处是什么?

    26、你觉得要获得职业上的成功需要在专业上具备什么样的特质及能力?

    敏感的感知能力,敏锐的观察力,很好的表现力,追求完美不舍的精神

    27、平面设计工作的流程是大致是怎样的,从任务的下达到完成的一般过程?

    28、在设计的过程中,你的表现客户不满意,反复要改动的时候你一般是怎么处理?你会完全按客户的要求改动吗?

    考查有没有自信心,有没有说能力,有没有坚持。

    29、当你的想法与客户总监或创意总监有冲突的时候你会怎么做?

    最好按上面的意思先办,时间充足再自己做一个参与竞争,提高自己。

    30、你的设计方案总是公司的同事很有信心,而客户很难认可时你怎么去说服客户呢?

    看功夫有没有做到家,要能站在比客户更高的位置去帮助他们解决问题,而不是被动

    31、你参与过实业公司的提案会吗?作为平面设计人员你在会上一般会有什么样的发言?

    32、你觉得未来设计人员的出路在哪里?

    33、你认为在做商业美术这一行来说最缺少的是什么?你打算怎么做?

    34、在你所合作过的成功的案例是你觉得你的客户最欣赏你的是哪一点?

    35、对于媒体和广告你有什么样的经验?

    36、有人说做广告总是在为他人做嫁衣裳,你怎么理解的?

    做广告的本质就是服务好你的对象,并且拿最好的东西出来

    37、做设计方案时你会手工绘制吗?

    38、用手工绘制能不能很好地表达你想要的效果?

    39、在工作中你觉得电脑是必不可少的工具吗?

    40、除了工作之外电脑对于你来说最大的作用是什么?

    收集资料信息,了解各行业的状况等比较好

    41、工作之余你有走市场的习惯吗?

    42、对于最流行的设计表现形式,你是通过什么样的方式去了解的?

    43、你有没有独立完成整套设计任务的能力呢?

    44、在广告公司里你与谁沟通的最多?

    45、平面设计与营销工作是什么样的关系?

    是营销的一部分

    实际工作经验和实际电脑操作方面的问题

    (可以通过以下问题了解该同志对于设计相关工作的熟悉程度):

    46、在电脑平面设计过程中目前最常用的图片处理软件是什么?(PS)

    47、你一般会在什么软件里完成最后的排版?(CorelDraw/Illustrator/Packagemaker/Freehand/QuarkXpress等)

    48、PC机上最常用的排版软件是哪一个?(CorelDraw)

    49、广告公司里做平面设计最常用的是什么电脑?是Apple还是PC?(专业的广告公司一般苹果多)

    50、苹果机与PC机的操作系统是可以互换的吗?(不能)

    51、在苹果机上最常用的排版软件是什么?(Packagemaker/Freehand/QuarkXpres)

    52、电脑性能主要决定因素有哪些?(内存/CPU/硬盘/主板的性能)

    53、做三维动画或影视制作运算速度比较快且稳定的是哪种电脑?(苹果)

    54、我们常说的翠绿如果用印刷的四色标色方法它应是什么?(CY100)

    55、M60Y100是什么色?(桔色)

    56、专色是指什么色?(国际印刷标准组织确定的有固有色标的色)

    57、专色也可以用四色印刷出来吗?(不能,只能模拟近似)

    58、没有专色的情况下,只要有彩色图片菲林应该是多少个色版?(4个)

    59、排版最后完成之后,在交输出公司的时候哪些是一定要检查的?(图片的色彩模式和文字是否转曲等)

    60、输出菲林所用的图片都是什么色彩模式?(CMYK)

    61、用RGB图出菲林不会有问题吧?(会,色彩与看到的完全不同)

    62、印刷品在文件制作时一般要有多少解析度?(至少250DPI以上)

    63、图案的分辨率与印刷的网线数是什么关系?(2:1)

    64、一般的海报印刷用什么样的纸?多少克数最常见?(157g铜版)

    65、做户外使用的海报在印刷之前政府相关部门有没有要求审批的程序?(有)

    66、PSD的图可以在Freehand里排版出菲林吗?(可以排版,但最好转TIFF发排)

    67、如果图里带有专色在做的时候专色在图片处理软件里是什么形式反出来的?(通道)

    68、有专色的图要存为什么格式才能用于排版软件?(PS DCS2)

    69、喷绘文件是用所有的软件都可以完成吗?(最好是PS)

    70、小尺寸的喷绘文件一般用原大的原寸做多少解析度?(至少72DPI)

    71、做大型户外喷绘的时候文件一般做多大就可以了?(原来的尺寸,23.5DPI就可以)

    72、为什么你屏幕上见到的与打印出来的色彩差这么远?(因为输出方式不同屏幕会鲜艳很多)

    72、户外车身广告画面制作材料是什么?(防水防晒防紫外线的不干胶)

    73、丝印与喷绘的最主要不同点在哪里?(一个是特种油墨的平板印刷,一个是打印)

    74、什么是孖P?(输出时两个P出在一个相连的版面上)

    75、包装盒最常见的材料是什么?(卡纸印刷)

    76、现在常见的印刷设备是什么?(德国海德堡,罗兰日本的小森)

    77、印刷质量最好的在国内是什么地方?(深圳)

    78、专色可不可以有网点的?(可以)

    79、书版你首选用什么排版?(Pagemarker等)

    80、什么叫透穿?(印刷时在上面的色彩没有压着它底下的色)

    81、在进行图片处理工作时还会经常用到哪些软件来配合PS使用?(Dimension/3Dmax/ProE三维软件,Flash/fireworks网页制作用,Streamline转图形软件等)

    82、使用图片处理软件完成工作时的你认为最大挑战是什么?(修图,调色,特效等)

    84、名片的尺寸(90*54mm,上下左右各2mm出血,所以新建是94*58mm)

    85、海报的尺寸(一、常见海报的尺寸:42cm × 57cm(宽×高),大度四开。57cm × 84cm(宽×高),大度对开。

    商用海报尺寸,常见的是50cm × 70cm(宽×高)。57cm×84cm(宽×高),大度对开。

    电影海报尺寸50cm × 70cm(宽×高)。57cm × 84cm(宽×高)。78cm × 100cm(宽×高)

    招聘海报尺寸90cm × 120cm(宽×高))

    86、书籍的尺寸((1)16K精装书成品尺寸: 260X185mm;版心尺寸: 215X138mm;订口对订口:46mm;地脚对地脚:40mm;翻口对翻口:60mm

    (2)16K平装书 成品尺寸: 260X185mm;版心尺寸: 215X138mm;订口对订口:50mm;地脚对地脚:40mm;翻口对翻口:60mm

    (3)大16K精装书 成品尺寸:

    297X210mm;版心尺寸: 245X165mm;订口对订口:48mm;地脚对地脚:40mm;翻口对翻口:54mm

    (4)大16K平装书 成品尺寸:

    297X210mm;版心尺寸: 245X165mm;订口对订口:50mm;地脚对地脚:40mm;翻口对翻口:52mm

    (5)32K精装书 成品尺寸: 184X130mm;版心尺寸: 153X100mm;订口对订口:32mm;翻口对翻口:36mm;地脚对地脚:30mm;天头对天头:48mm

    (6)32K平装书 成品尺寸: 184X130mm;版心尺寸: 158X100mm;订口对订口:36mm;翻口对翻口:36mm;地脚对地脚:30mm;天头对天头:48mm

    (7)大32K精装书 成品尺寸:

    204X140mm;版心尺寸: 165X107mm;订口对订口:34mm;翻口对翻口:42mm;地脚对地脚:38mm;天头对天头:52mm

    (8)大32K平装书 成品尺寸:

    204X140mm;版心尺寸: 159X103mm;订口对订口:42mm;翻口对翻口:32mm;地脚对地脚:34mm;天头对天头:54mm

    (9)64K精装书 成品尺寸: 130X92mm;版心尺寸: 103X70mm;订口对订口:24mm;翻口对翻口:28mm;地脚对地脚:26mm;天头对天头:40mm

    (10)64K平装书 成品尺寸: 130X92mm;版心尺寸: 103X70mm;订口对订口:27mm;翻口对翻口:27mm;地脚对地脚:26mm;天头对天头:40mm

    87、什么是VI、OA?通过临摹别人的作品你收获了什么?

    VI:视觉识别

    VI:以标志、标准字、标准色为核心展开的完整的、系统的视觉表达体系。将上述的企业理念、企业文化、服务内容、企业规范等抽象概念转换为具体符号,塑造出独特的企业形象。在CI设计中,视觉识别设计最具传播力和感染力,最容易被公众接受,具有重要意义。

    办公自动化(Office Automation,简称OA)是将现代化办公和计算机网络功能结合起来的一种新型的办公方式。办公自动化没有统一的定义,凡是在传统的办公室中采用各种新技术、新机器、新设备从事办公业务,都属于办公自动化的领域。在行政机关中,大都把办公自动化叫做电子政务,企事业单位就大都叫OA,即办公自动化。通过实现办公自动化,或者说实现数字化办公,可以优化现有的管理组织结构,调整管理体制,在提高效率的基础上,增加协同办公能力,强化决策的一致性,最后实现提高决策效能的目的。

    1、在你所见的平面设计作品中你认为哪些国家或地区的作品令你印象深一些?为什么?

    答案:美国 日本 荷兰 泰国

    2、国内你最欣赏的平面设计师有哪些?

    答案:靳埭强 陈少华

    3、国内的平面设计作品对你印象最深的有哪些?

    抽象标志512标志 中国银行 中国移动08奥运会

    4、你认为最成功的平面设计作品如何衡量?举例子说明一下?

    答案:正在运行,有理念,有思想,能使企业蒸蒸日上的的标志或者VIS

    5、中国的平面设计与国外的同行业相比较有什么样的优势与不足?

    答案:起步晚,还处于临摹和创新的模糊阶段

    6、国内做平面设计最发达的地区有哪些?为什么?

    答案:北上广深

    9、你曾经服务的企业有哪些?你个人最得意的作品有哪些?

    10、你是如何理解设计工作的?

    答案:不是为了设计而设计

    11、设计与绘画艺术有什么最本质的区别?

    答案:设计是一定程度上的推销概念,绘画艺术是再现思维,思想、社会责任感的体现。

    13、商业设计的服务对象是什么?

    答案:产品和人

    展开全文
  • 图像处理控件ImagXpress一旦导入了一个图像到一个ImageX对象上,这个图像的信息就可以通过这个ImageX对象的属性和方法可用,本文来看看如何访问和修改已经加载的图像。 获得图像数据 Number of Pages:得到在...

        在图像处理控件ImagXpress中一旦导入了一个图像到一个ImageX对象上,这个图像的信息就可以通过这个ImageX对象的属性和方法可用,本文来看看如何访问和修改已经加载的图像。

    获得图像数据

    Number of Pages:得到在图像中的页面数,使用只读的ImageX.PageCount属性。

    Current Page:使用ImageX.Page属性,获取或设置页面被查看和处理。

    Resolution:使用下面的一个来得到图像的分辨率。

    • ImageX.Resolution(只读属性)给图像的尺寸和分辨率提供度量单位。
    • ImageXData.Resolution(只读属性)给图像的尺寸和分辨率提供度量单位。(同ImageX.Resolution)
    • ImageX.HorizontalResolution和 ImageX.VerticalResolution方法提供了水平和垂直的分辨率,用通过ImageX.ResolutionUnits方法指定的单位。

    Tags:使用ImageX.Tags属使得标签集与ImageX对象关联。

    Color Palette:使用ImageX.Palette属性来使得颜色调色板用于ImageX图像。

    Load Options Used:使用只读属性ImageX.LoadOptions来获取图像如何导入的信息。

    Image Data:使用在ImageXData中的只读属性,来获取图像的其他信息,如图像的位深度、色彩空间、压缩的原始图像文件的格式和大小。

    监测ImageX的对象的状态

    ImageX.ImageStatusEvent和ImageX.ProgressEvent用来提供反馈图像状态,比如它正在被查看、处理或是保存。

    修改标签与调色板

    1、不加载图像修改标签

        使用ImageX.ReadAllMetaData 和 ImageX.SaveAllMetaData方法,可以不加载图像而修改标签。

    2、在加载的图像中修改标签

        一旦一个图像被加载到ImageX的对象中,就可以通过关联标签集和ImageX对象来修改标签。

    3、修改图像调色板

        ImageX.Palette属性获得或是设置与ImageX图像(如果图像是8 BPP或更少)相关的调色板,ImageX.CreateColorPalette方法可以被用于创建一个新的颜色面板,可以被分配到ImageX图像。

    >>>C# 示例代码

    >>>ImagXpress 下载


    展开全文
  • 图像处理岗位面试题搜罗汇总

    万次阅读 多人点赞 2018-06-21 15:11:46
    原文...传统图像处理部分 图像处理基础知识 彩色图像、灰度图像、二...

    传统图像处理部分

    图像处理基础知识

    彩色图像、灰度图像、二值图像和索引图像区别?

    彩色图像:RGB图像。灰度图像:0-255像素值。二值图像:0和1,用于掩膜图像。

    索引图像:在灰度图像中,自定义调色板,自定义输出256种颜色值。

    常用的图像空间

    HSI、HSV、RGB、CMY、CMYK、HSL、HSB、Ycc、XYZ、Lab、YUV色彩空间(颜色模型)

    RGB颜色空间是算法处理中应用最多的颜色空间。

    HSI颜色空间,色调(Hue)、色饱和度(Saturation或Chroma)和亮度(Intensity或Brightness)

    YUV,分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。YUV 4:4:4采样,每一个Y对应一组UV分量。YUV 4:2:2采样,每两个Y共用一组UV分量。 YUV 4:2:0采样,每四个Y共用一组UV分量。 紧缩格式(packed formats)平面格式(planar formats)。YYYYYYYYUVUV YYYYYYYYUUVV

    图像的像素数与分辨率有什么区别?

    像素数为图像实际组成的像素的个数,像素是没有固定宽度和高度的,是一个感光单元。

    分辨率的单位为 像素/英寸(1英寸(inch)=2.54厘米(cm)),这里指的不是面积,而是对角线的长度,即dpi、ppi。分辨率也称之为点密度,分辨率越高,看的越细腻。

    视频帧播放速度的单位

    PAL制式是——25fps,NTSC是——30fps。

    图像预处理

    叙述GABOR滤波器原理?

    使用一个三角函数(如正弦函数)与一个高斯函数叠加我们就得到了一个Gabor滤波器。Gabor滤波器可以抽取空间局部频度特征,是一种有效的纹理检测工具。

    附:图像的空域是指二维坐标系上的操作,频域指的是图像经过傅里叶变换后的频谱。在频率域中,高频分量表示图像中灰度变换比较快的那些地方,比如物体的边缘就是灰度的突然变化,所以物体边缘就是高频分量。而物体内部比较平坦的区域,灰度基本没有变化,对应的就是低频分量。比如低通滤波只让低频分量通过,往往就是使图像模糊,因为边缘信息被去除了。高频对应图像细节,低频对应图像大致轮廓。

    椒盐噪声用什么滤波处理比较有效?

    参考:中值滤波与椒盐噪声

    椒盐噪声:也称为脉冲噪声:

    在图像中,它是一种随机出现的白点或者黑点,可能是亮的区域有黑色像素或是在暗的区域有白色像素(或是两者皆有)。

    滤除椒盐噪声比较有效的方法是对信号进行中值滤波处理。

    插值

    最近邻插值

    双线性插值

    立方卷积插值

    二值图像连通域搜索

    matlab中连通区域标记函数bwlabel中的算法,一次遍历图像,并记下每一行(或列)中连续的团(run)和标记的等价对,然后通过等价对对原来的图像进行重新标记。

    1. 创建RUN(团)结构体,包含(纵坐标、横坐标开始、横坐标结束、标记号)
    2. 开始逐行扫描图像,寻找所有的团,将他们放到一个二维数组vector< vector<Stuct> >中,以下为每一行的操作。
      1. 当遇到一个255时,创建一个团的对象,标记纵坐标和横坐标的开始。
      2. 从开始点向右寻找,直到遇到0或者这行结束,则标记为这个团的横坐标结束。
      3. 将该行的RUN push到对应的位置。回到步骤2.1.
    3. 对众多的团进行分析,对团进行标记且得到等价对,创建一个vector< pair<int, int> >用于存放所有的等价对。
      1. 遍历所有相邻行。
      2. 若该行为第一行,则直接进行标记。
      3. 对于相邻行,遍历该行的所有RUN,对于每一个RUN,遍历上一行的所有RUN(超出范围即停止循环)。
        1. 若上一行中没有与该行RUN邻接,则创建新的标记。
        2. 若上一行只有一个与该RUN邻接,则沿用相邻RUN的标记。
        3. 若上一行有多个与该RUN邻接,则使用这多个RUN中最小的标记,并创建多个等价对。
    4. 消除等价对,可使用并查集,使得所有的团都拥有自己的祖先。
      1. 假设标记从0开始,到1000结束。标记对为类似的(0,10).(10,39)。
      2. 创建一个prev[1000]数组,初始化值为-1,记录该标记的上一级领导。初始prev[10]=0,prev[39]=10。初始化所有的等价对。
      3. 遍历所有的等价对,修改每一级的上一级领导为最上层领导。
    5. 修改每个团中的标记为最上层领导的标记。

    代码见github

    开源库cvBlob中使用的标记算法,它通过定位连通区域的内外轮廓来标记整个图像,这个算法的核心是轮廓的搜索算法

    TODO:轮廓跟踪算法

    并行计算

    Intel指令集中MMX,SSE,SSE2,SSE3和SSE4指的是什么?

    MMX(Multi Media eXtension,多媒体扩展指令集)是一些整数并行运算指令。

    SSE(Streaming SIMD Extensions,单指令多数据流扩展)是一系列浮点并行运算指令。

    SIMD,单指令多数据流,是指用一条指令执行多个计算,比如图像像素一般是BYTE占8位,而计算机中总线是64位,所以理论上可以同时进行8个像素的运算。

    并行计算有哪些实现方式?

    单指令多数据流SIMD、对称多处理机SMP、大规模并行处理机MPP、工作站机群COW、分布共享存储DSM多处理机。

    机器学习面试题链接

    机器学习部分

    特征算子

    常用边缘检测有哪些算子,各有什么特性和优缺点?

    1. Prewitt算子
      优点:一阶微分算子,平均滤波,对低噪声的图像有较好的检测效果。缺点:抗噪性差。
    2. Sobel算子Sobel算子
      优点:一阶微分算子,加权平均滤波,对低噪声的图像有较好的检测效果。缺点:抗噪性差。
    3. Roberts算子Roberts
      优点:一种利用局部差分算子寻找边缘的算子,定位比较精确。缺点:对噪声敏感,无法抑制噪声的影响。
    4. Laplacian算子
      优点:各向同性,二阶微分,精确定位边缘位置所在。缺点:无法感知边缘强度。只适用于无噪声图象。存在噪声情况下,使用Laplacian算子检测边缘之前需要先进行低通滤波。
    5. Laplacian of Gaussian(LoG)算子:先对图像做高斯滤波,再做Laplacian算子检测。
    6. Canny算子:一个具有滤波,增强,检测的多阶段的优化算子。先利用高斯平滑滤波器来平滑图像以除去噪声,采用一阶偏导的有限差分来计算梯度幅值和方向,然后再进行非极大值抑制。

    请描述以下任一概念:SIFT/SURF LDA/PCA

    SIFT/SURF为了实现不同图像中相同场景的匹配,主要包括三个步骤:
    1. 尺度空间的建立;
    2. 特征点的提取;
    3. 利用特征点周围邻域的信息生成特征描述子;
    4. 特征点匹配。

    之所以采用尺度空间,是为了应对尺度不变性。

    SIFT

    1. 生成高斯差分金字塔(DOG金字塔),尺度空间构建
      • 通过对原始图像进行尺度变换,获得图像多尺度下的尺度空间表示序列
      • 对这些序列进行尺度空间主轮廓的提取,并以该主轮廓作为一种特征向量,实现边缘、角点检测不同分辨率上的关键点提取等
      • 尺度空间构建的基础是DOG金字塔,DOG金字塔构建的基础是高斯金字塔
    2. 空间极值点检测(关键点的初步查探)
      • 为了寻找DOG函数的极值点,每一个像素点要和它所有的相邻点比较,看其是否比它的图像域和尺度空间域的相邻点大或者小
      • 在二维图像空间,中心点与它3*3邻域内的8个点做比较,在同一组内的尺度空间上,中心点和上下相邻的两层图像的2*9个点作比较,如此可以保证检测到的关键点在尺度空间和二维图像空间上都是局部极值点
    3. 稳定关键点的精确定位
      • DOG值对噪声和边缘比较敏感,所以在第2步的尺度空间中检测到的局部极值点还要经过进一步的筛选,去除不稳定和错误检测出的极值点,另一点就是在构建高斯金字塔过程中采用了下采样的图像,在下采样图像中提取的极值点对应在原始图像中的确切位置,也是要在本步骤中解决的问题。
    4. 稳定关键点方向信息分配
      • 稳定的极值点是在不同尺度空间下提取的,这保证了关键点的尺度不变性。为关键点分配方向信息所要解决的问题是使得关键点对图像角度和旋转具有不变性。方向的分配是通过求每个极值点的梯度来实现的。
      • 分配给关键点的方向并不直接是关键点的梯度方向,而是按照一种梯度方向直方图的方式给出的。
      • 具体的方法是:计算以关键点为中心的邻域内所有点的梯度方向,当然梯度方向一定是在0~360°范围内,对这些梯度方向归一化到36个方向内,每个方向代表了10°的范围。然后累计落到每个方向内的关键点个数,以此生成梯度方向直方图。
    5. 关键点描述
      • 对关键点的描述是后续实现匹配的关键步骤,描述其实就是一种以数学方式定义关键的过程。描述子不但包含关键点,也包括关键点周围对其有贡献的邻域点。
      • 描述的思路是:对关键点周围像素区域分块,计算快内梯度直方图,生成具有独特性的向量,这个向量是该区域图像信息的一种抽象表述。
      • 如下图,对于2*2块,每块的所有像素点的荼毒做高斯加权,每块最终取8个方向,即可以生成2*2*8维度的向量,以这2*2*8维向量作为中心关键点的数学描述。
      • David G.Lowed的实验结果表明:对每个关键点,采用4*4*8共128维向量的描述子进项关键点表征,综合效果最佳:
    6. 特征点匹配
      • 特征点的匹配是通过计算两组特征点的128维的关键点的欧式距离实现的。欧式距离越小,则相似度越高,当欧式距离小于设定的阈值时,可以判定为匹配成功。

    线性判别分析(LDA), 主成分分析(PCA)

    参考参考

    LDA和PCA最终的表现都是解一个矩阵特征值的问题,分类的目标是,使得类别内的点距离越近越好(集中),类别间的点越远越好。

    LDA的全称是Linear Discriminant Analysis(线性判别分析),是一种supervised learning。

    LDA的原理是,将带上标签的数据(点),通过投影的方法,投影到维度更低的空间中,使得投影后的点,会形成按类别区分,一簇一簇的情况,相同类别的点,将会在投影后的空间中更接近。要说明白LDA,首先得弄明白线性分类器(Linear Classifier):因为LDA是一种线性分类器。对于K-分类的一个分类问题,会有K个线性函数 y = wx+b.

    当满足条件:对于所有的j,都有Yk > Yj,的时候,我们就说x属于类别k。对于每一个分类,都有一个公式去算一个分值,在所有的公式得到的分值中,找一个最大的,就是所属的分类了。

    y = wx+b实际上就是一种投影,是将一个高维的点投影到一条高维的直线上,LDA最求的目标是,给出一个标注了类别的数据集,投影到了一条直线之后,能够使得点尽量的按类别区分开

    主成分分析(PCA)与LDA有着非常近似的意思,LDA的输入数据是带标签的,而PCA的输入数据是不带标签的,所以PCA是一种unsupervised learning。

    PCA更像是一个预处理的方法,它可以将原本的数据降低维度,而使得降低了维度的数据之间的方差最大

    它的目标是通过某种线性投影,将高维的数据映射到低维的空间中表示,并期望在所投影的维度上数据的方差最大,以此使用较少的数据维度,同时保留住较多的原数据点的特性。

    通俗的理解,如果把所有的点都映射到一起,那么几乎所有的信息(如点和点之间的距离关系)都丢失了,而如果映射后方差尽可能的大,那么数据点则会分散开来,以此来保留更多的信息。可以证明,PCA是丢失原始数据信息最少的一种线性降维方式。(实际上就是最接近原始数据,但是PCA并不试图去探索数据内在结构)

    Linear Discriminant Analysis (也有叫做Fisher Linear Discriminant)是一种有监督的(supervised)线性降维算法。与PCA保持数据信息不同,LDA是为了使得降维后的数据点尽可能地容易被区分!

    特征点匹配

    如下图所示,请以准确快速实现配准为目标,设计算法,让两图中对应的特征点(至少一部分特征点)配准(即精准地地找出对应点之间对应的坐标关系值)。

    参考

    之前是用角点检测,后来采用SIFT算子,Sift算法的实质是在不同的尺度空间上查找关键点(特征点),计算关键点的大小、方向、尺度信息,利用这些信息组成关键点对特征点进行描述的问题。

    1. 生成高斯差分金字塔(DOG金字塔),尺度空间构建
    2. 空间极值点检测(关键点的初步查探)
    3. 稳定关键点的精确定位
    4. 稳定关键点方向信息分配
    5. 关键点描述(128维向量算子)
    6. 特征点匹配(欧氏距离)

    极值点邻域筛选

    对于一般应用图像中,景物可能存在任意特征(如折线,弧形、亮度极值、色调等),请设计合适的算法,找到图像中可以作为明显特征点的灰度的极值点所在的邻域。以准确快速实现极值点邻域筛选为目标,设计算法。用流程图表达)。

    也使用SIFT特征

    特征离散化的好处

    1. 增减特征较为方便,易于迭代。
    2. 离散化后运算速度快,存储方便。
    3. 对脏数据的鲁棒性较强。
    4. 离散化一定程度简化了模型,可以防止过拟合。

    分类算法

    常用的分类器有哪些,并简述其原理?

    线性分类器:Logistic回归 y=sigmoid(wx+b)

    传统方式:特征描述和检测

    KNN,K最近邻,判断图像与各个类别的距离

    SVM,选定特征, SVM算法输出一个最优化的分隔超平面(分类面)。本科课题:SIFT、k-means、Bag of Words、SVM。映射函数可能为多项式。

    BPNN,全连接网络,计算量巨大

    CNN,卷积神经网络

    迁移学习,利用别人训练好的参数,自定义网络

    LR与线性回归的对比

    LR的优化函数为似然函数,经典线性回归的优化函数为最小二乘。

    LR将预测范围缩小到了[0,1],而经典线性回归的预测范围为整个实数。

    LR与SVM的对比

    相同:都是分类模型。都处理二分类。都可以添加正则项。

    区别:LR是参数模型,SVM是非参数模型;LR采用logistical loss,SVM采用hinge loss;SVM之所以称之为支持向量,是因为SVM只考虑了与分类最相关的少数点来学习分类器。

    KNN的K是如何选取的

    K值较小意味着模型会越复杂,容易发生过拟合。K值过大会使模型过于简单,使得预测发生错误。实际使用中K一般取较小的数字。

    什么是SVM?

    参考http://blog.csdn.net/v_july_v/ … 24837

    是一个二分分类器,找寻数据之间间隔最大的线性分类器。其学习策略是使分隔间隔最大化。对于线性可分的数据,SVM构造一个分隔面。对于线性不可分的数据,SVM采用核函数将低维空间的问题映射到了高维空间,从而线性可分。常用核函数有多项式核函数、高斯核函数、线性核函数。为了应对维度爆炸的情形,核函数事先在低维空间上进行计算,再将分类的实际效果展现在高维上。

    SVM的损失函数叫做Hinge(hɪndʒ) Loss,形式为max(0,1-y*a),y为真实值+-1,a为预测值,介于-1到1之间。

    简述BP神经网络

    BP(back propagation)神经网络,输入X,通过隐藏节点的非线性变换后,输出信号Y,通过误差分析,来调整隐藏节点的W和b。

    AdaBoost的基本原理?

    AdaBoost是一个广泛使用的BOOSTING算法,其中训练集上依次训练弱分类器,每次下一个弱分类器是在训练样本的不同权重集合上训练。权重是由每个样本分类的难度确定的。分类的难度是通过分类器的输出估计的。

    参考资料

    //TODO 详细学习

    聚类算法

    简述你熟悉的聚类算法并说明其优缺点

    K均值聚类(K-meansClustering)

    将输入数据分到K个类中。K均值是通过循环更新类中心的初始估计值来实现的。优势是实现起来很简单,是并行化的。主要缺陷是,类的数目需要提前确定。

    主要分三步:
    1. 随机选取k个聚类质心点(cluster centroids)
    2. 对于每一个样例i,计算其应该属于的类
    3. 对于每一个类j,重新计算该类的质心
    1. 重复下面过程直到收敛

    层次聚类

    层次聚类(或者叫做凝聚聚类)是另一个简单但是强大的聚类算法。其思想是基于成对距离建立一棵相似度树。该算法首先分组成为两个最近的对象(基于特征向量之间的距离),并且在一棵有着两个对象作为孩子的树中创建一个平均结点。然后在余下的结点中找到一个最近的pair,并且也包含任何平均节点,等等。在每一个结点,两个孩子之间的距离也会被存储。簇然后可以通过遍历这棵树并在距离比某个阈值小以至于决定聚类的大小的结点处停止来被提取出来。

    层次聚类有几个优势。比如,树结构可以被用来可视化关系,并且显示簇是如何关联起来的。一个好的特征向量将得到树中好的分离。另一个优势是树可以在不同的簇阈值中被重用,而不需要重新计算树。缺点是需要选择一个阈值如果实际的簇需要的话

    谱聚类

    对于n个元素的相似度矩阵(或者叫affinity matrix, 有时也叫距离矩阵)是一个有着成对相似度分数的n*n矩阵。谱聚类的这个名称是从相似度矩阵构造的矩阵的谱的使用得来。这个矩阵的特征向量被用来降维,然后再聚类。

    谱聚类方法的其中一个优势是唯一的输入就是这个矩阵,并且可以被你可以想到的任何相似度度量构造出来。像K均值和层次聚类这样的方法计算特征向量的平均值,这个限制了特征(或者是描述符)对向量(为了能够计算平均值)。有了谱方法,不再需要任何类型的特征向量,只有“距离”或者“相似度”。

    Mean Shift 聚类算法

    1. 在未被标记的数据点中随机选择一个点作为中心center;
    2. 找出离center距离在bandwidth之内的所有点,记做集合M,认为这些点属于簇c。同时,把这些求内点属于这个类的概率加1,这个参数将用于最后步骤的分类
    3. 以center为中心点,计算从center开始到集合M中每个元素的向量,将这些向量相加,得到向量shift。
    4. center = center+shift。即center沿着shift的方向移动,移动距离是||shift||。
    5. 重复步骤2、3、4,直到shift的大小很小(就是迭代到收敛),记住此时的center。注意,这个迭代过程中遇到的点都应该归类到簇c。
    6. 如果收敛时当前簇c的center与其它已经存在的簇c2中心的距离小于阈值,那么把c2和c合并。否则,把c作为新的聚类,增加1类。
    7. 重复1、2、3、4、5直到所有的点都被标记访问。
    8. 分类:根据每个类,对每个点的访问频率,取访问频率最大的那个类,作为当前点集的所属类。

    简单的说,mean shift就是沿着密度上升的方向寻找同属一个簇的数据点。

    欧式距离和曼哈顿距离的区别

    欧式距离为最常见的2点之间的距离,为2点之间的直线距离。

    曼哈顿距离又称为L1距离或者城市区块距离,是两个点的1范数距离。

    图像分割

    Graph-cut的基本原理和应用?

    Graph cuts是一种十分有用和流行的能量优化算法,在计算机视觉领域普遍应用于前背景分割(Image segmentation)、立体视觉(stereo vision)、抠图(Image matting)等。

    利用图,将目标和背景进行分割。

    图像融合,镶嵌

    已知两幅拼接好的图像,两幅图像在几何关系配准之后,但两图之间存在明显灰度差别跳变,请设计一个算法对图像进行处理,让两幅图之间的灰度看不出跳变,形成自然过渡。(可以不考虑两图之间的黑图部分)。

    影像融合是指高分辨率灰度图像和低分辨率彩色图像融合得到具有高分辨率的彩色图像。该算法称之为图像镶嵌。简单的做法可以是寻找两幅影像的镶嵌线,镶嵌线是指两幅影像公共区域区别最小的一条线,可以利用相关系数法判断得到,然后根据镶嵌线上两幅影像的灰度差异对右影像进行反差调整,最后拼接。

    其他模型

    Random Forest的随机性表现在哪里。

    Bagging方法是ensemble methods中获得用于训练base estimator的数据的重要一环。 正如其名,Bagging方法就是将所有training data放进一个黑色的bag中,黑色意味着我们看不到里面的数据的详细情况,只知道里面有我们的数据集。然后从这个bag中随机抽一部分数据出来用于训练一个base estimator。抽到的数据用完之后我们有两种选择,放回或不放回。

    我们可以看到从根节点开始往下会有分支,最终会走向叶子节点,得到分类结果。每一个非叶子节点都是一个特征,上图中共有三维特征。但是决策树的一个劣势就是容易过拟合,下面我们要结合上文提到的bagging技术来中和一下。

    img

    bagging + decision trees,我们得到了随机森林。将决策树作为base estimator,然后采用bagging技术训练一大堆小决策树,最后将这些小决策树组合起来,这样就得到了一片森林(随机森林)。

    (X[1],Y[1])….(X[n],Y[n])是数据集,我们要训练T棵决策树g[1]….g[t]…g[T]。 每次从数据中有放回地随机抽取size-N’的子数据集D[t]用于训练第t棵决策树g[t]。

    随机森林的随机性体现在每颗树的训练样本是随机的,树中每个节点的分裂属性集合也是随机选择确定的。有了这2个随机的保证,随机森林就不会产生过拟合的现象了。

    GMM的基本原理和应用

    高斯混合模型(Gaussian Mixture Model, GMM)将一个事物分解为若干的基于高斯概率密度函数(正态分布曲线)形成的模型。

    高斯混合模型(GMM,Gaussian mixture model)是建模最为成功的方法之一,同时GMM可以用在监控视频索引与检索。

    用于动目标检测中的背景建模。

    • 混合高斯模型使用K(++基本为3到5个++) 个高斯模型来表征图像中各个像素点的特征。
    • 在新一帧图像获得后更新混合高斯模型,用当前图像中的每个像素点与混合高斯模型匹配,如果成功则判定该点为背景点, 否则为前景点。
    • 通观整个高斯模型,他主要是有++方差++和++均值++两个参数决定,,对均值和方差的学习,采取不同的学习机制,将直接影响到模型的稳定性、精确性和收敛性。
    • 由于我们是对运动目标的背景提取建模,因此需要对高斯模型中方差和均值两个参数实时更新。
    • 为提高模型的学习能力,改进方法对均值和方差的更新采用不同的学习率
    • 为提高在繁忙的场景下,大而慢的运动目标的检测效果,引入权值均值的概念,建立背景图像并实时更新,然后结合权值、权值均值和背景图像对像素点进行前景和背景的分类。

    其他理论

    监督学习和非监督学习。

    • 监督学习:通过已有的一部分输入数据与输出数据之间的对应关系,生成一个函数,将输入映射到合适的输出,例如分类。
    • 非监督学习:直接对输入数据集进行建模,例如聚类。
    • 半监督学习:综合利用有类标的数据和没有类标的数据,来生成合适的分类函数。

    目前最广泛被使用的分类器有人工神经网络、支持向量机、最近邻居法、高斯混合模型、朴素贝叶斯方法、决策树和径向基函数分类。

    无监督学习里典型的例子就是聚类了。聚类的目的在于把相似的东西聚在一起,而我们并不关心这一类是什么。因此,一个聚类算法通常只需要知道如何计算相似度就可以开始工作了。

    过拟合的解决方法

    减小模型复杂度、加大数据、batch normalization、dropout、正则化、early stopping。

    谈谈判别式模型和生成式模型?

    常见的判别模型有:K近邻、SVM、决策树、感知机、线性判别分析(LDA)、线性回归、传统的神经网络、逻辑斯蒂回归、boosting、条件随机场。通过决策函数来进行判别。

    常见的生成模型有:朴素贝叶斯、隐马尔可夫模型、高斯混合模型、文档主题生成模型(LDA)、限制玻尔兹曼机。通过联合概率密度分布函数来进行预测。

    L1和L2的区别

    • L1范数为向量中各个元素的绝对值之和,符合拉普拉斯分布,可以使权值稀疏。
    • L2范数为向量中各个元素的平方和的1/2次方,符合高斯分布,可以防止过拟合。
    • Lp范数为向量中各个元素的p次方和的1/p次方。

    归一化的好处

    归一化加快了梯度下降求解最优解的速度;归一化还可能会提高精度。

    归一化的种类

    • 线性归一化。利用max和min进行归一化,如果max和min不稳定,则常用经验值来替代max和min。
    • 标准差归一化。利用所有样本的均值和方差将样本归一化为正态分布。
    • 非线性归一化。比如指数、对数、三角函数等。

    归一化和标准化的区别

    标准化是依照特征矩阵的列处理数据,其通过求z-score的方法,将样本的特征值转换到同一量纲下。归一化是依照特征矩阵的行处理数据,其目的在于样本向量在点乘运算或其他核函数计算相似性时,拥有统一的标准,也就是说都转化为“单位向量”。

    对于深度网络而言,归一化的目的是方便比较,可以加快网络的收敛速度;标准化是将数据利用z-score(均值、方差)的方法转化为符合特定分布的数据,方便进行下一步处理,不为比较。

    熵是指样本的随机程度。样本越无序,熵越大, 信息越多。

    完成机器学习项目流程

    1. 抽象成数学问题。明确我们可以获得什么样的数据,这个问题是回归还是分类。
    2. 获取数据。增加数据的代表性,防止因数据引起的过拟合。
    3. 特征预处理和特征选择。进行数据清洗,包括归一化、离散化等操作。结合数据和业务的特点来确定需要选取的特征算子。
    4. 训练模型和调优。选择一个模型进行训练,并对超参数进行调节。
    5. 模型诊断。分析模型是否过拟合或者欠拟合,然后进行相应的操作。同时可以进行误差分析,针对不同的问题来优化模型。
    6. 模型融合。将预处理和预测进行统一。
    7. 上线运行。

    深度学习部分

    潮流

    图像检测和分割,增强学习,生成对抗网络,预测学习

    基础理论

    SGD 中 S(stochastic)代表什么

    Stochastic Gradient Descent 随机梯度下降。GD即Full-Batch,SGD即为Mini-Batch。随机性表现在训练数据的shuffle。

    Softmax Loss推一下

    Sigmoid、Tanh、ReLU比较

    Rectified Linear Unit, ReLU

    ReLU比Sigmoid、Tanh好的原因

    1. 指数函数运算量大。ReLU节省运算量。
    2. Sigmoid容易引发梯度消失问题,因为Sigmoid函数在两端的导数趋近于0.
    3. ReLU使得一部分神经元死亡,这样可以使得网络变得比较稀疏,缓解了过拟合的发生。

    引入非线性激活函数的原因?

    若使用线性激活函数,则无论神经网络有多少层,输出都是输入的线性组合。

    好的激活函数有以下特点:

    1. 非线性:即导数不是常数。
    2. 几乎处处可微:可微性保证了在优化中梯度的可计算性。
    3. 计算简单。
    4. 非饱和性(saturation):饱和指的是在某些区间梯度接近于零(即梯度消失),使得参数无法继续更新的问题。
    5. 单调性(monotonic):即导数符号不变。
    6. 输出范围有限:有限的输出范围使得网络对于一些比较大的输入也会比较稳定
    7. 接近恒等变换(identity):即约等于x。这样的好处是使得输出的幅值不会随着深度的增加而发生显著的增加
    8. 参数少:大部分激活函数都是没有参数的。
    9. 归一化(normalization):这个是最近才出来的概念,对应的激活函数是SELU。类似于Batch Normalization。

    什么造成了梯度消失和梯度膨胀?

    深度网络的链式连乘法则,使得反向传播时到达前几层时,权值更新值非常小或非常大。

    可以通过ReLU解决一部分。

    各大指标

    先是混淆矩阵,这是基础。

    混淆矩阵

    包含四部分的信息:
    1. True negative(TN),称为真阴率,表明实际是负样本预测成负样本的样本数
    2. False positive(FP),称为假阳率,表明实际是负样本预测成正样本的样本数
    3. False negative(FN),称为假阴率,表明实际是正样本预测成负样本的样本数
    4. True positive(TP),称为真阳率,表明实际是正样本预测成正样本的样本数

    前面有的表示预测正确。

    ROC曲线

    二分类标签的输出概率需要定义一个阈值p,p值的选取反映了分类器的分类性能。ROC曲线的横轴为FP(将真实负样本预测为了正样本,越低越好),纵轴为TP(将真实正样本预测为正样本,越高越好)

    ROC

    • (0,0):假阳率和真阳率都为0,即分类器全部预测成负样本
    • (0,1):假阳率为0,真阳率为1,全部完美预测正确,happy
    • (1,0):假阳率为1,真阳率为0,全部完美预测错误,悲剧
    • (1,1):假阳率和真阳率都为1,即分类器全部预测成正样本
    • TPR=FPR,斜对角线,预测为正样本的结果一半是对的,一半是错的,随机分类

    则,若ROC曲线处于对角线之下,则分类性能差于随机分类器。希望该曲线向左上角凸。

    AUC指标

    AUC(Area under the ROC curve),适用于二元分类问题,AUC实际上就是ROC曲线下的面积。AUC直观地反映了ROC曲线表达的分类能力。

    • AUC = 1,代表完美分类器
    • 0.5 < AUC < 1,优于随机分类器
    • 0 < AUC < 0.5,差于随机分类器

    求解步骤:

    1. 获得样本的输出概率和标签值。
    2. 对于不同的从高到低的阈值,计算不同的TP和FP。
    3. 绘制ROC曲线,计算面积。

    AUC含义:从所有真实的正样本中取一个数据,判断这个样本是正样本的概率是p1,从所有真实的负样本中取一个数据,判断这个样本是正样本的概率是p2。对于分类器来说p1越大越好,p2越小越好。则p1大于p2的概率称之为AUC。

    mAP

    计算步骤,参考

    1. 得到所有测试样本的id、输出概率和真实标签值。
    2. 对输出概率进行排序。
    3. 假设有M个recall值,分别计算不同recall下的准确率。
    4. 取M个准确率的平均值。

    AP(average precision),

    卷积神经网络

    图像预处理手段

    卷积和相关

    相关和卷积的机理相似,但卷积滤波器首先要旋转180度。

    卷积算法的时间复杂度

    因为在图像的每个位置都要计算一遍卷积核,所以图像像素数为M,卷积核大小为N,则卷积的时间复杂度为O(M*N)。

    池化层的作用

    • 保留主要特征的同时进行降维和减少计算量,防止过拟合,提高模型泛化能力。
    • 增加一定的不变性,在池化窗口内。包括平移、旋转、尺度不变性。

    CNN特性

    CNN的四个特点:局部连接、权值共享、池化操作、多层次结构。

    局部连接使网络可以提取数据的局部特征;权值共享降低了网络的训练难度,一个Filter只提取一个特征;池化操作与多层次结构一起,实现了数据的降维,将低层次的局部特征组合成为较高层次的特征,从而对整个图片进行表示。

    为什么很多做人脸的Paper会最后加入一个Local Connected Conv?

    人脸在不同的区域存在不同的特征(眼睛/鼻子/嘴的分布位置相对固定),当不存在全局的局部特征分布时,Local-Conv更适合特征的提取。

    循环神经网络

    LSTM为何比RNN好

    LSTM可以防止梯度消失或者爆炸

    其他网络

    生成对抗网络

    简称GAN。该网络包含2个部分,一个称之为生成器generator,主要作用是生成图片,并且尽量使得其看上去是来自于训练样本的。另一方是discriminator,其目标是判断输入图片是否属于真实训练样本。

    TensorFlow

    如何理解TensorFlow的计算图?

    TensorFlow分为二部分,一部分是构造部分,用来构造网络;一部分是执行部分,用来执行网络中的计算。

    图像相关开放性知识

    怎样在一张街拍图像中识别明星的衣着服饰信息?

    我们需要把服装与背景、人物、建筑等等元素区别开来,确定是否有衣服以及衣服在什么位置。接下来需要对衣服进行分析,提取出服装的属性、特征等等。最后再根据这些特征,在庞大的数据库里搜索同款或者类似的服装图片。

    上衣纯色,裙子花色,怎样做区分?

    方差判断,梯度变化。

    怎样判断一张广告图片中是否有文字信息?是否用到OCR技术?怎样应用?

    场景文字检测与识别,先用CNN等对文字进行定位,然后再使用LSTM、OCR进行文字识别。

    给一张二值化图片(包含一个正方形),怎样识别图片中的正方形?如果图片污损严重,怎样识别并恢复?

    首先检测轮廓,然后对轮廓进行分析(角点)。

    如果图像污损严重,如何识别?

    简述图像识别在移动互联网中的应用

    人脸识别、识别各类东西、检索各类图像。

    图像处理领域相关顶级论文

    • Image and Vision Computing (IVC)
    • Pattern Recognition (PR)
    • ICCV: IEEE International Conference on Computer Vision
    • CVPR: IEEE Conf on Comp Vision and Pattern Recognition
    • NIPS: Neural Information Processing Systems

    数学部分

    公式

    贝叶斯全概率公式题

    全概率公式

    对任一事件A,若有互不相容的事件Bi(i=1,2,...,n),满足P(Bi)>0,i=1nP(Bi)=1(i=1,2,...,n)i=1nBiA,则事件A的概率可用下式计算:

    P(A)=i=1nP(Bi)P(A|Bi)

    img

    此概率称之为全概率公式。

    Bayes公式

    利用乘法公式与全概率公式可导出Bayes公式

    对任一事件A,若有互不相容的事件Bi(i=1,2,,n),满足P(Bi)>0,i=1nP(Bi)=1(i=1,2,...,n)i=1nBiA,(跟上个公式条件相同)则

    P(Bi|A)=P(Bi)P(A|Bi)i=1nP(Bi)P(A|Bi)(i=1,2,,n)

    最小二乘拟合的公式推导和代码实现。

    最小二乘法通常用于 曲线拟合 (least squares fitting) 。

    推导过程

    核心思想是最小化损失函数:距离差值的平方((diR)2),若想公式可导,则可以计算平方差的平方(di2R2)2

    C/C++部分

    基本概念

    关键字static的作用是什么?

    1. 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
    2. 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数,它是一个本地的全局变量。
    3. 在模块内,一个被声明为静态的函数只可被这一模块的它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。

    简述C,C++程序编译的内存分配情况?

    C,C++中内存分配方式可以分为三种:

    1. 从静态存储区域分配:内存在程序编译时就已经分配好,这块内存在程序的整个运行期间都存在。速度快,不容易出错,因有系统自行管理。它主要存放静态数据、全局数据和常量。会默认初始化,其他两个不会自动初始化。
    2. 在栈上分配:在执行函数时,函数内局部变量的存储单元都在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。
    3. 从堆上分配:即运态内存分配。程序在运行时候用malloc或new申请任意大小的内存,程序员自己负责在何进用free 和delete释放内存。

    一个C、C++程序编译时内存分为5大存储区:堆区、栈区、全局区、文字常量区和程序代码区。

    new 和 malloc的区别

    1. malloc/free是C的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。
    2. 当使用一些非内置数据类型的对象时,maloc/free不能自动执行构造函数和析构函数。这是因为malloc/free是库函数,不在编译器控制下。

    图的遍历

    深度搜索DFS

    递归写法

    1. 定义一个visited数组。
    2. 访问当前节点,输出该节点。
    3. 循环遍历该节点的相邻的,未被访问过的节点。
      1. 递归第二步。

    非递归写法

    1. 定义一个栈和一个visited数组。
    2. 将初始节点入栈。开始循环,直道栈空。循环如下:

    广度搜索BFS

    设置队列

    1. 定义一个队列Queue和visited数组。
    2. 将开头节点入队。
    3. 开始循环
      1. 出队,访问该节点
      2. 遍历该节点的相邻的未被访问过的节点,入队

    hash 冲突及解决办法

    键字值不同的元素可能会映象到哈希表的同一地址上就会发生哈希冲突。解决办法:

    1. 开放定址法。按照一定的方法进行顺延。
    2. 再哈希法。同时构造多个不同的哈希函数。
    3. 链地址法。数组后的每个元素后添加单链表。

    红黑树的特征

    具有二叉查找树的所有特征。二叉查找树查找的效率最坏为O(n),红黑树通过颜色着色的方法将最坏降低到平均水平。

    1. 每个结点要么是红的要么是黑的。
    2. 根节点是黑的。
    3. 每个叶结点(树尾端的NIL指针或者NULL结点)都是黑的。
    4. 如果一个节点是红色,他的两个孩子都是黑色。
    5. 对于任意结点而言,其到叶结点树尾端NIL指针的每条路径都包含相同数目的黑结点。

    是红黑树的这5条性质,使一棵n个结点的红黑树始终保持了logn的高度,从而也就解释了上面所说的“红黑树的查找、插入、删除的时间复杂度最坏为O(log n)”

    其他编程

    嵌入式系统总是用户对变量或寄存器进行位操作。给定一个整型变量a,写两段代码,第一个设置a的bit3,第二消除a的 bit 3。在以上两个操作中,要保持其它位不变.

    #include <iostream>
    #include <bitset>
    using namespace std;
    
    #define BIT3 (0x1<<3)
    void set_bit3(unsigned &a)
    {
        a |= BIT3;
    }
    void clear_bits(unsigned &a)
    {
        a &= ~BIT3;
    }
    
    int main()
    {
        unsigned a = UINT_MAX;
        clear_bits(a);
        cout << (bitset<32>)a << endl;
        set_bit3(a);
        cout << (bitset<32>)a << endl;
        return 0;
    }

    行列递增矩阵的查找

    解法一、分治法

    因为矩阵的行和列都是递增的,所以整个矩阵的对角线上的数字也是递增的,故我们可以在对角线上进行二分查找,如果要找的数是6介于对角线上相邻的两个数4、10,可以排除掉左上和右下的两个矩形,而在左下和右上的两个矩形继续递归查找

    解法二、定位法

    首先直接定位到最右上角的元素,比要找的数大就往左走,比要找数的小就往下走,直到找到要找的数字为止,走不动,说明这个数不存在。这个方法的时间复杂度O(m+n)。代码如下:

    #include <iostream>
    #include <vector>
    using namespace std;
    
    bool YoungMatrix(vector< vector<int> > mat, int target){
        int y = 0, x = mat[y].size() - 1;
        int var = mat[y][x];
        while (true) {
            if (var == target){
                printf("Mat[%d][%d]=%d\n", y, x, target);
                return true;
            }
            else if (var < target && y < mat.size() - 1){
                var = mat[++y][x];
            }
            else if (var > target && x > 0){
                var = mat[y][--x];
            }
            else{
                return false;
            }
        }
    }
    
    int main(){
        vector<vector<int> > matrix(20);
        for (int i = 0; i < 20; i++){
            for (int j = 0; j < 20; j++) {
                matrix[i].push_back(i+j);
                cout << matrix[i][j] << " ";
            }
            cout << endl;
        }
        cout << YoungMatrix(matrix, 38) << endl;
        return 0;
    }

    从1到500的500个数,第一次删除奇数位上的所有数,第二次删除剩下来的奇数位,以此类推,最后剩下的唯一一位数是什么?

    就是当1~n,2^i

    给出了一个n*n的矩形,编程求从左上角到右下角的路径数(n > =2),限制只能向右或向下移动,不能回退。例如当n=2时,有6条路径。

    从左上角到右下角总共要走2n步,其中横向要走n步,所以总共就是C2nn次。

    给出一棵二叉树的前序和中序遍历,输出后续遍历的结果。

    已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为多少?

    #include <iostream>
    #include <string>
    using namespace std;
    
    string Subsequent(string pre, string mid) {
        if (pre.size() != mid.size() || pre.empty()) return "";
        char root = pre[0];
        int rootIndex = mid.find(root);
        string leftPre = pre.substr(1, rootIndex);
        string leftMid = mid.substr(0, rootIndex);
        string rightPre = pre.substr(rootIndex + 1);
        string rightMid = mid.substr(rootIndex + 1);
    
        string res;
        res += Subsequent(leftPre, leftMid);
        res += Subsequent(rightPre, rightMid);
        res += root;
        return res;
    }
    
    int main(){
        string pre = "ABDEGCFH";
        string mid = "DBGEACHF";
        cout << Subsequent(pre, mid) << endl;
        return 0;
    }

    自定义实现字符串转为整数的算法,例如把“123456”转成整数123456.(输入中可能存在符号,和数字)

    代码见github

    字符串最长公共子序列

    动态规划推导式

    img

    代码见github

    字符串最长公共子串

    与上文区别是不等时的处理方式,和最后是整个矩阵中寻找最大值。

    代码见github

    请实现一个函数:最长顺子。输入很多个整数(1<=数值<=13),返回其中可能组成的最长的一个顺子(顺子中数的个数代表顺的长度); 其中数字1也可以代表14;

    直方图

    #include <iostream>
    #include <vector>
    #include <string>
    using namespace std;
    
    vector<int> LongestShunZi(vector<int> input) {
        // 统计直方图
        vector<int> hist;
        hist.resize(15);
        for (int i = 0; i < input.size(); i++)
            if (input[i] > 0 && input[i] < 15)
                hist[input[i]] ++;
        hist[14] = hist[1];
        //最大牌数
        int maxCount = 0;
        for (int i = 1; i < 15; i++)
            if (hist[i] > maxCount)
                maxCount = hist[i];
        //求结果
        int resLen = 0;
        int resCount = 0;
        int resEnd = 0;
        for (int i = 1; i <= maxCount; i++)
        {
            int len = 0;
            int longestLen = 0;
            int longestEnd = 1;
            for (int j = 1; j < 15; j++) {
                if (hist[j] >= i) {
                    len++;
                    if (len > longestLen) {
                        longestLen = len;
                        longestEnd = j;
                    }
                }
                else {
                    len = 0;
                }
            }
            if (longestLen == 14 && 2 * i > hist[1]) longestLen--;
            if (longestLen * i > resLen * resCount) {
                resLen = longestLen;
                resCount = i;
                resEnd = longestEnd;
            }
        }
    
        vector<int> res;
        for (int i = resEnd - resLen + 1; i <= resEnd; i++)
            for (int j = 0; j < resCount; j++)
                res.push_back(i);
        return res;
    }
    
    int main() {
        int arr[] = { 1, 5, 2, 3, 4, 4, 5, 9, 6, 7, 2, 3, 3, 4 };
        vector<int> v(arr, arr+sizeof(arr)/sizeof(int));
        vector<int> res = LongestShunZi(v);
        for (int i = 0; i < res.size(); i++) cout << res[i] << " ";
        cout << endl;
        return 0;
    }

    对一批编号为1-100,全部开关朝上(开)的亮灯进行如下操作

    对一批编号为1-100,全部开关朝上(开)的亮灯进行如下操作:凡是编号为1的倍数的灯反方向拨一次开关;凡是编号为2的倍数的灯反方向又拨一次开关;编号为3的倍数的灯反方向又拨一次开关……凡是编号为100的倍数的灯反方向拨一次开关。编写程序,模拟此过程,最后打印出所熄灭灯的编号。

    #include <iostream>
    using namespace std;
    
    int main() {
        bool arr[101];
        memset(arr, 0, 101);
    
        for (int i = 2; i <= 100; i++) {
            for (int j = 1; j <= 100; j++) {
                if (j % i == 0) {
                    arr[j] = !arr[j];
                }
            }
        }
        for (int i = 1; i <= 100; i++) {
            if (!arr[i])
                cout << i << endl;
        }
        return 0;
    }
    1
    4
    9
    16
    25
    36
    49
    64
    81
    100

    一个数的约数个数为奇数。所有的数都包含1和自己,平方数的约数肯定是奇数个。

    实现个函数 unsigned int convect(char* pstr)

    实现个函数 unsigned int convect(char* pstr)。其中pstr是十六进制数的字符串。函数convectpstr转换成数字返回(比如:字符串’1A’,将返回数值26.注意,pstr[0]是’1’)。pstr中只有数字字符0到9、A到F。不得借助其它的系统函数调用。

    #include <iostream>
    using namespace std;
    
    unsigned int convect(char* pstr) {
        char *p = pstr;
        unsigned long long res = 1;
        unsigned long long maxInt = (res << 32) - 1;
        res = 0;
        while (*p != '\0') {
            if (*p >= '0' && *p <= '9') {
                res = res * 16 + *p - '0';
            }
            else if (*p >= 'A' && *p <= 'F') {
                res = res * 16 + *p - 'A' + 10;
            }
            else return 0;
            p++;
        }
        if (res > maxInt) return 0;
        return res;
    }
    
    int main() {
        cout << convect((char*)"1A") << endl;
        cout << convect((char*)"FFFFFFFF") << endl;
        cout << convect((char*)"FFFFFFFFF") << endl;
        return 0;
    }

    实现一个函数unsigned int counter(char* pstr)

    实现一个函数unsigned int counter(char* pstr)。函数将打印出匹配的括号对。比如:字符串”a(bc(d)ef(12)g)”就存在3对匹配的括号对,分别是:
    1. 位置4上的(与位置6上的)匹配。打印4 6即可。
    1. 位置9上的(与位置12上的)匹配。打印9 12即可。
    1. 位置1上的(与位置14上的)匹配。打印1 14即可。

    软件编程部分

    设计

    给你一个模块要求,你要做出这个模块,那么你的做出该模块的思路和步骤是什么?

    明确这个模块的功能,明确其输入以及输出。

    尽量去除与其他模块的耦合关系,确保独立性。

    我会首先编写输入和输出的接口函数,然后由粗到精,逐步实现细节算法。

    同时还需要编写模块的测试代码,保证交付的可靠性。

    Matlab编程

    Matlab 中读、写及显示一幅图像的命令各是什么?

    imread(), imwrite(), imshow()

    Matlab 与VC++混合编程有哪几种方式?

    Matlab引擎方式(Matlab后台程序为服务器,VC前端为客户端,C/S结构)、Matlab编译器(将Matlab源代码编译为C++可以调用的库文件)及COM组件(Matlab生成COM组件,VC调用)

    Matlab运算中 .** 的区别?

    .*表示矩阵元素分别相乘,要求两个矩阵具有相同的shape。*表示矩阵相乘。

    逻辑推理部分

    智力题

    药丸问题

    有四人装药丸的罐子,每个药丸都有一定的重量,被污染的药丸是没被污染的重量+1.只称量一次,如何判断哪个罐子的药被污染了?

    答:在四个罐子里面分别取1、2、3、4颗药丸,然后进行称量。如果称量结果比实际(污染前)重了n,就是第n罐被污染了。 (因为每加一颗被污染的药丸就增加1所以增加n就是增加n颗就是在第n个罐子里拿的)

    帽子黑白问题

    一群人开舞会,每人头上都戴着一顶帽子。帽子只有黑白两种,黑的至少有一顶。每个人都能看到其他人帽子的颜色,却看不到自己的。主持人先让大家看看别人头上戴的是什么帽子,然后关灯,如果有人认为自己戴的是黑帽子,就打自己一个耳光。第一次关灯,没有声音。于是再开灯,大家再看一遍,关灯时仍然鸦雀无声。一直到第三次关灯,才有劈劈啪啪打耳光的声音响起。问有多少人戴着黑帽子?

    解:假如只有一个人戴黑帽子,那他看到所有人都戴白帽,在第一次关灯时就应自打耳光,所以应该不止一个人戴黑帽子;如果有两顶黑帽子,第一次两人都只看到对方头上的黑帽子,不敢确定自己的颜色,但到第二次关灯,这两人应该明白,如果自己戴着白帽,那对方早在上一次就应打耳光了,因此自己戴的也是黑帽子,于是也会有耳光声响起;可事实是第三次才响起了耳光声,说明全场不止两顶黑帽,依此类推,应该是关了几次灯,有几顶黑帽。

    金条问题

    让工人为你工作7天,给工人的回报是一根金条。金条平分成相连的7段,你必须在每天结束时给他们一段金条,如果只许你两次把金条弄断,你如何给你的工人付费?

    答:分成1、2、4段。利用1,2,4可以组合成1,2,3,4,5,6,7

    拆字游戏

    下面玩一个拆字游戏,所有字母的顺序都被打乱。你要判断这个字是什么。假设这个被拆开的字由5个字母组成:
    1. 共有多少种可能的组合方式?
    2. 如果我们知道是哪5个字母,那会怎么样?
    3. 找出一种解决这个问题的方法。

    个人解答:
    1. A55=54321=120
    1. 会依靠英文字母的规则等大致弄几种可能性出来。
    1. 将弄出来的可能性的单词进行查找。

    为什么下水道的盖子是圆的?

    解:很大程度上取决于下水道的形状,一般为了使得各个方向的管子都可以接入到下水道中,所以下水道设计成了圆柱形,所以盖子相应的也是圆形。且圆形比较省材料,便于运输。

    请估算一下CNTOWER电视塔的质量

    首先在纸上画出了CNTOWER的草图,然后快速估算支架和各柱的高度,以及球的半径,算出各部分体积,然后和各部分密度运算,最后相加得出一个结果。

    展开全文
  • 综述---图像处理中的注意力机制

    万次阅读 多人点赞 2019-09-30 11:40:33
    论文阅读: 图像分类的注意力机制(attention) 介绍了Spatial transformer networks、Residual Attention Network、Two-level Attention、SENet、Deep Attention ...快速理解图像处理中注意力机制的应用 主要讲解...
  • 图像处理笔试面试题(1)

    万次阅读 2017-12-14 20:35:58
    图像处理题目: 注意,一下所有需要写代码的题目,不允许使用OpenCV的Mat类。如果图片内容需要用指针读取。 1 . 给定0-1矩阵,求连通域。(遇到过N次,笔试面试都有,最好做到能徒手hack代码或者伪代码。)  ...
  • vc++6.0的图形图像处理

    千次阅读 2016-04-28 14:33:09
    vc++6.0的图形图像处理  (2012-03-11 03:50:12) 转载▼ 标签:  杂谈    vc++6.0的图形图像处理  图形图像处理  1.设备环境(DC)的概念。  2.常用的几个...
  • 计算机视觉/图像处理研究经常要用到Matlab,虽然其自带了图像处理和计算机视觉的许多功能,但是术业有专攻,在进行深入的视觉算法研究的时候Matlab的自带功能难免会不够用。本文收集了一些比较优秀的Matlab计算机...
  • 图像分割标签制作软件

    千次阅读 2019-07-05 21:25:40
    在做一个图像语义分割的项目。因为项目需要,得处理大量采集的图片数据,很多图片背景和前景难以区分,只有人工交互标注,所以编写了一个简单的交互标注软件。只能标注两类,可以撤销10次,可以设置工作半径和颜色...
  • 图像处理(五)——连通域

    万次阅读 2019-11-22 08:51:18
    连通区域(Connected Component)一般是指图像中具有相同像素值且位置相邻的前景像素点组成的图像区域(Region,Blob)。...连通区域分析是一种在CVPR和图像分析处理的众多应用领域较为常用和基本的方法。例如:...
  • 前面一篇文章我讲解了基于K-Means聚类的图像分割或量化处理,但突然发现世面上的文章讲解图像量化和采样代码的很缺乏,因此结合2015年自己的一篇文章,补充相关知识供同学们学习。基础性文章,希望对你有所帮助。...
  • 图像处理中最大连通区域的求解

    万次阅读 2017-02-11 11:32:34
    在matlab有对图像的连通区域进行求解的函数,即bwlabel。但是opencv里好像没有,所以这里自己实现一下,方便以后使用。   首先,我回顾一下bwlabel的参数和用法:  L =bwlabel(BW,n)  返回一个和BW大小相同的L...
  • 本博客主要记录我利用Matlab学习图像处理的一些学习笔记,欢迎交流,批评指正。 本篇是第一篇,主要讲解图像处理的一些基础知识,列出如下: 1.二值化 2.开操作 3.连通区域提取 4.连通区域重心提取 5.bouding box...
  • 图像处理之分割图像

    万次阅读 热门讨论 2017-06-17 15:48:03
    我们在处理图像的时候,常常需要将图像的前景和背景做不同的处理,这时需要将前景和背景分割开。关于图像分割的方法我知道的有三种方法:K-means、分水岭和GrabCut算法进行物体分割。不能够肯定的比较出谁优谁劣,...
  • 主要涉及图形处理,包括形态学、图像质量、相机成像之3A算法、去雾处理、颜色空间转换、滤镜等,主要在安防公司或者机器视觉领域,包括缺陷检测; 二、现代图像算法工程师: 涉及模式识别,主要表现的经验为Adaboost...
  • GPU 加速下的图像处理

    千次阅读 2016-04-08 09:52:53
    图像处理可以简单到把一张照片转换为灰度图,也可以复杂到是分析一个视频,并在人群找到某个特定的人。尽管这些应用非常的不同,但这些例子遵从同样的流程,都是从创造到渲染。 在电脑或者手机上做图像处理有很...
  • HTML5标签canvas图像处理

    千次阅读 2014-11-24 11:08:39
    本文介绍canvas的图像处理 drawImage  drawImage() 方法在画布上绘制图像、画布或视频。drawImage() 方法也能够绘制图像的某些部分,以及/或者增加或减少图像的尺寸。 语法  在画布上定位图像:  ...
  • 图像处理讲解-以CNN对图像进行分类为例

    万次阅读 多人点赞 2020-08-10 11:22:25
    · 转载请注明出处网址~ · 交流讨论、合作咨询请添加微信:yx_imagination ------------------------------...本文讲解计算机如何处理图像进行分类的,这里我们以CNN(卷积神经网络)对汪汪图片进行分类为例! 1...
  • twain图像处理和扫描控件ImagXpress

    千次阅读 2014-08-14 17:33:46
    ImagXpress是一款功能强大的twain图像处理控件,具有TWAIN扫描、压缩,浏览,注释,打印,图像处理,文档清洁,文件格式转换,使用该TWAIN扫描控件可以添加世界上最强大的图像处理功能到您的应用程序,控件提供了...
  • 图像处理:图像分类算法优化技巧

    千次阅读 2018-12-27 20:02:22
    论文:Bag of Tricks for Image Classification with Convolutional Neural Networks ... 论文复现对很多人而言难度都比较大,因为常常涉及很多细节,部分细节对于模型效果影响很大,但是却很少有文章介绍这些细节,前...
1 2 3 4 5 ... 20
收藏数 81,141
精华内容 32,456
关键字:

图像处理中标签如何设置