精华内容
下载资源
问答
  • 正文 字体大小:大 中 小 图片大小/像素/分辨率之间有什么关系
    正文 字体大小:大

    图片大小/像素/分辨率之间有什么关系

    (2013-07-01 19:30:55)
    var tag=,,;var tag_code='aefe74be683a16a6b51166bd3101fd70'; var rquotebligid=6b9a9c320101mx5n;var worldcup='0'; var $worldcupball='0'; 标签:

    像素

    分辨率

    英寸

    分类: 常识
    我们买数码相机或是评价相机功能的时候,常常提到相机的像素这一概念,认为像素大的相机就好,就能拍出精细的图片来,现在有的高档数码相机的像素数高达上千万,一般的家庭用相机的像素达到了四百万到五百万。是不是我们购买相机的时候,像素就是我们评价相机和追求的唯一参数?答案是否定的,这里首先要弄清像素的基本概念。
    
    像素是相机感光器件上的感光最小单位。就像是光学相机的感光胶片的银粒一样,记忆在数码相机的胶片(存储卡)上的感光点就是像素;要想得到分辨率高(也就是细腻的照片),就必须保证有一定的像素数;是不是像素高的相机拍出的照片就一定比像素低的相机拍出的照片清晰呢?这首先要弄清一个概念,照片的清晰度不是取决于像素数,而是取决于像素的点密度(就是图片的分辨率)(用ppi表示,单位是像素/英寸),像素数点密度是两个概念,像素数(点数)是感光点的总量,而点密度是单位面积上的点数(像素点),只有单位面积上的感光点数越多,拍出的照片才越细腻。所以,反映照片清晰程度的参数是点密度(图片分辨率),而非总的点数。像素虽高,若印的照片也很大,其点密度并不高,照片也不细腻;相反,像素不高,若只印很小幅面的照片,也可以得到很细腻的照片。所以确切地说,像素高,意味着能拍出幅面大的照片;所以,像素的高低,表示着照片幅面的大小;这样说来,我们购买相机的时候,就要考虑你准备拍摄的照片的最大尺寸是多大,再决定要求的像素数。若你准备开影楼或做广告,需要放大很大幅面的照片,就需要选择最高像素高的相机;若只是家庭使用,不准备放大很大的照片,也就不必追求太高的像素数。当然,高像素的代价是高价位,所以用户在选择相机时,既要考虑自己的实际需要,也要考虑经济承受能力。
    
    我们在使用数码相机拍照时,往往有几组数字供我们选择:
    
     
    
        640×480,  1024×768,  1600 ×1200  2048×1536……
    
     
    
    每一组数字中,前一数字表示在照片的长度方向上所含的像素点数,后一数字表示在宽的方向上所含的像素点数,两者的乘积,就是像素数;例如1600×12001920000≈2000000,就是200万(像素)。
    
    具体来说,图片的分辨率决定于图片的像素数和图片的尺寸(幅面),像素数高且图片尺寸小的图片,即单位面积上的像所含的像素数多的图片,其分辨率也高。在图片处理软件上打开图片时,就会看到一组数字,有图片像素数,文档大小(长、宽的尺寸);根据此数据,即可计算出该图片的分辨率;计算的方法是,以其在长度方向上的像素数,除以长度的尺寸数(英寸);或以其在宽度方向的像素数,除以宽度的尺寸数(英寸)。例如以图片的像素是640×480,其尺寸大小是:长:3.556寸,宽:2.667寸;该图片的分辨率就是:640÷3.556180(像素/英寸),或480÷2.667180(像素/英寸)。再如,一图片的像素是640×480,其尺寸大小是:宽9寸,高:6.7寸,该图片的分辨率就是:640÷8.972(像素/英寸)。分辨率才是图片清晰程度的标志,在分辨率一定的情况下,像素值是图片的幅面的标志。像素值大,只能说明该图片的幅面大,并不能说明其清晰程度,清晰程度如何,则要看其分辨率的大小。
    
    拍摄时,每个相机都有几组不同的像素值供我们选择,我们应怎样设定像素的大小呢?首先说明,设定的像素大(文档大),占据记忆卡的资源也大,记忆卡所能容纳的图片数目也就少,即能拍摄的照片少;反之,设定的像素小,能拍摄的照片就多;假若我们想多拍照片,就把像素设定的小一些;假若我们想在后期放大照片,就设定高像素。
    
    前面提到,照片的清晰程度取决于图片的分辨率,也可用点密度(单位面积上的点数)来反映;在保证照片清晰的前提下,我们如何选择像素值呢?这就要看我们准备打印多大幅面的照片了。肉眼所能分辨的最小距离是0.1mm,  1英寸(图片大都用英寸表示)25.4mm, 也就是说图片分辨率高于254(像素/英寸)的图像的清晰度,在眼睛看来是没有什么区别的,其实,在实践中,分辨率大于100(像素/英寸)的图片已很难用肉眼分辨了,三星牌的傻瓜相机的图片分辨率只有72像素/英寸,但其感光器件质量好,拍出的照片也很清晰;有的家用的较为高档的相机的图片分辨率也只是达到180像素/英寸。所以,拍出照片的清晰程度取决于多种因素,并不是只决定于相机的像素数和其图片的分辨率的大小。
    
    还要说明一点的是,平时我们所说的照片大小都用来表示,是个长度单位,怎么能表示照片的面积呢?原来大多数照片的长宽比例大致是4 3, 我们通常所说的5寸照片(5×3.5),就是:长度是5英寸,宽度是3.5英寸;但人们习惯地以其长度来表示照片的大小,再如6寸照片,就是长6英寸,宽4英寸。还要注意一点,10寸照片的面积并不是5寸照片面积的2倍,这一点你只要做个计算就知道了,这里不再赘述。
    
     
    
    1英寸=25.4mm,   5寸的照片换算成厘米就是长度为:2.54cm×512.7cm,  宽度为:2.54cm×3.58.89cm,
    
     
    
    那么要拍照清晰的5寸照片要求的像素数应该是多少呢?按照前面所提到的根据肉眼的分辨率的要求,在每英寸里含有72个像素点(即图片分辨率)以上,就可拍出清晰的照片,假如我们按图片分辨率为120计算,5寸照片在长度方向上应有:120×5600(像素), 在宽度方向上应有:120(像素/英寸)×3.5(英寸)=420(像素);所以,在5寸照片的面积上含有的像素数应为:600×42025(万),也就是说我们设相机的最低像素值“640×480”像素,(30万像素)即可拍出十分清晰的照片来。按此类推,拍10寸照片有115万的像素即可;实践可知,只要达到200万的像素,足可拍出十分清晰的10寸照片来。由此看来,作为家庭用的数码相机,有400万像素就足以够用了。
    
    附带说明一点,DV机(摄像机)的说明书上标出的像素值都很低,大都在100万像素一下,这是怎么回事呢?像素要求与TV(照相机)不同,照相机拍摄的照片是单幅画面,是静止的,若画面的分辨率太小,就不清晰,不细腻;而DV机拍摄的是连续的动态画面,每秒钟要拍摄十几幅倒几十幅,播放的是一个连续的画面,即是每幅画面的分辨率不大,由于视觉滞留的原因,肉眼看起来仍很清晰;和照相机相比,在分辨率相同的情况下,80万像素的DV机拍出的影像已经非常清晰了。这就是对摄像机像素要求不高的原因。
    
    还有一个现象是,有的低档次相机的最高像素也很高,有的达到600万,(拍出来的照片很大),分辨率也不是很低,但是并不清晰;这是什么原因呢?原来照片的清晰程度还与相机的感光器件有关,感光器件是数码相机的心脏,就像光学相机的胶卷一样,是记录信息的载体,是成像的感光材料,是数码相机的胶卷。感光器件的质量和大小直接关系到成像的质量,是衡量相机档次的一个重要因素;当前相机使用的感光器件有两种:CCDCMOS,前者的成像质量高,但制造工艺复杂,成本高,一般高档次的相机都使用CCD;在相同分辨率的情况下后者价格便宜、省电,但成像质量较低,所以低档次相机大都使用CMOS感光器件,虽其标出的像素很高,可成像质量大不如前者。即使使用的感光器件相同,感光器件的大小也影响成像质量,感光器件面积大,能记录更多的图像细节,图像就清晰。要说明的是,随着工艺的发展,CMOS也显出了巨大的发展前景,一些厂家已研制出了成像质量很高的产品,所以现在有些高端相机产品的感光器件也是使用了CMOS
     
    
    数码相机日渐普及,相关配套行业--数码相片冲洗店也越开越多。可是,在你高高兴兴把拍摄到的数码相片拿去冲洗之前,你知道应该做些什么准备工作吗?

        
    现阶段生产的数码相机虽然大部分都已具备300万像素以上分辨率(清晰度),足以冲印3R4R尺寸的相片。但很多用户在冲洗时忽略了一些基本性的问题,例如相片质量与裁切比例、存储卡的保护,以及给予冲印店工作人员的指示等,种种处理不当都有可能会影响数码相片的冲印效果。所以如果我们把事前准备功夫做足,冲印出来的相片才会更称心如意。


    小常识:通常表示照片规格会用来表示,和显示器之类的产品用对角线长度表示尺寸的方式不同,照片所说的几寸是指照片长的一边的英寸长度。比如6寸照片,就是指规格为6×4英寸的照片。而国际上还有一种通行的表示照片尺寸的方法,即取照片短的一边的英寸整数数值加字母R来表示。比如6寸照片,规格为6×4英寸,即4R

    一、家用数码冲印参考。

         
    为节省存储卡空间,大部分数码相机都会提供多种相片拍摄质量供用户选择。主要分为Best(最佳质量)Good(良好质量)Normal(普通质量)。其区别是把拍摄后的JPEG相片按不同程度进行压缩。但过分压缩会严重影响相片冲印质量。所以后两者拍出的相片未必真正适合冲印。在把相片拿去冲印前,用户最好先检查清楚冲印后的相片质量与拍摄到的影像文件是否成比例。要确保冲印效果令人满意,大家可参考下表。
     

    冲印尺寸(英寸   文件体积(要求最低分辨率     相片对应尺寸
    (1
     2     150-200KB     640x480(30     2.5 × 3.5 cm  5.3 × 3.5cm 
    (5×3.5
    英寸)3R    500-550KB    1280x960(120  12.70×8.89  cm
    (6×4
    英寸 4R    600-650KB    1280x1024(130 15.24×10.16 cm
    (7×5
    英寸 5R    800-900KB    1600x1200(200 17.78×12.70 cm
    (8×6
    英寸 6R    1-1.2MB      1900x1280(240 20.32×15.24 cm
    (10×8
    英寸8R-8F 1.3-1.5MB    2048x1536(300 25.40×20.32 cm

    :其它尺寸请参考表2

        
    以上数字是最基本要求,拍摄质量越高及文件越大,冲印相片的效果越好。用户如果要经常冲印数码相片,最好先检查相片是否符合上述要求。笔者个人的建议是拍摄时尽量选用最佳质量以减少相片细节损耗和确保冲印效果良好。

        
    另外,用户也可根据以下公式,计算正确的数码相片输出尺寸大小。

            
    拍摄分辨率÷300dpi=输出尺寸

        
    举个例,假设拍摄的相片是150万像素(1024x1536),就把10241536各除以300,得出3.5x5(3R尺寸)。即是说,150万像素的数码相片冲印的最大极限是3R,以此类推。

    参考:
    家庭 4R 相片所用的推荐像素:
    1.200
    万像素已经可以冲印出较理解的相片
    2.300
    万像素这是个不错的选择,即保证了像素,文件又不是很大(推荐)
    3.400
    万和500万像素拍摄
    4.
    再大的像素对冲印质量影响不大(文件太大洗相馆也会帮你裁了),但文件尺寸会很大,如果相机内存卡很充足和家里电脑硬盘很大就使用该相机所能拍摄的最高像素.


    二、相片长宽比例 
        
    由于CCD感光器件尺寸的限制,大部分数码相片的长宽比例是4:3,而一般3R相片比例是5:3.54R则是3:2。若按比例冲印,相片会出现白边或部分影像会被裁掉。有的人说,我可以预先在计算机中对相片长宽比例进行裁切,但笔者并不建议这样做,因为这是很花时间的。权宜之计是拍摄时在影像边缘位置预留58空间,就能够避免上述问题。

        
    当然,如果你觉得自己剪裁相片更为准确,知名图形编辑软件Photoshop内置的Crop裁剪工具能帮到你。只需在工具选项输入合适比例,例如3.5x5寸,裁切工具就会依照用户提供的比例进行相片剪切。 

        
    据我所知现在很多洗相馆应数码相机潮流可以冲印4:3的相片,即不用裁剪即可,那么6寸的相片实际上就是 4.5英寸(15.2 11.4厘米),相对于4R的相片而不载剪的4:3称之为4D尺寸,也相应有对应4D尺寸的相薄配送/,洗相前可以多了解一下你所在地的相馆可洗的实际尺寸与价格, 这里可以参考一下本地百佳冲印的价格: 4D4R贵一角钱 4D光面8,磨沙面9,4D光面+过朔=1/,各地的价格有所差别。

    三、用软件修饰相片 

        
    在把相片交到冲印店或直接利用打印机打印之前,适当地利用软件调整相片明暗 、反差、对比度与色彩鲜艳度有助于提高相片的可观赏性。笔者有一个小技巧提 供,即在Photoshop中利用“Levels”(Ctrl L)把两边角修整至Histogram两端,相片的明暗、反差与整体色调都会有明显改善。此外,你还可以选择“Auto Levels”“Auto Color”功能,也能对影像质量与色调调整有帮助。 


    四、给冲印店的清晰指示 
        
    一般情况下,数码激光冲印店会用计算机自动调整相片亮度和CMYK四色调。用户 
    可从冲洗好的相片背后编码了解冲印店是否为相片进行过校色,若出现“NNNN” 
    字样,即表示冲印员觉得无须调整。但一般而言,适当的校色有助于提供相片的 
    观赏性。

    五、附表

    冲印照片最大尺寸对照 1 

    附:转贴著名摄影艺术网站《色影无忌》血色黄昏网友提供的数码相机和可冲印照片最大尺寸对照表

    根据150PPI计算的数码相机可冲洗最大照片的数据对照表(英寸)
    500
    万像素 有效4915200,像素2560X1920。可冲洗照片尺寸17X13,对角线21
    400
    万像素 有效3871488,像素2272X1704。可冲洗照片尺寸15X11,对角线19
    300
    万像素 有效3145728,像素2048X1536。可冲洗照片尺寸14X10,对角线17
    200
    万像素 有效1920000,像素1600X1200。可冲洗照片尺寸11X8,对角线13
    130
    万像素 有效1228800,像素1280X960。可冲洗照片尺寸9X6,对角线11
    080
    万像素 有效786432,像素1024X768。可冲洗照片尺寸7X5,对角线9
    050
    万像素 有效480000,像素800X600。可冲洗照片尺寸5X4,对角线7
    030
    万像素 有效307200,像素640X480。可冲洗照片尺寸4X3,对角线5

    由上表可以看出:
    5
    寸照片(3X5),采用800X600分辨率就可以了
    6
    寸照片(4X6),采用1024X768分辨率
    7
    寸照片(5X7),采用1024X768分辨率
    8
    寸照片(6X9),采用1280X960分辨率
    图片大小/像素/分辨率之间有什么关系

     
         
    图片大小/像素/分辨率之间有什么关系
     
         
    图片大小/像素/分辨率之间有什么关系
    
    
    
    绿色:很好 黄色:好 土黄色:一般


    相片尺寸:表2

    1×1.5 
    英寸一寸 2.5×3.5(厘米小一寸 2.2×3.2(厘米大一寸 3.3×4.8(厘米
    1.5×2 
    英寸二寸 3.5×4.9(厘米小二寸 3.5×4.5(厘米大二寸 3.5×5.3(厘米

      1
     1R              2.6×3.7(厘米)
      2
     2R              6.3×8.9(厘米)
    5×3.5(5
    英寸 3R)   12.70×8.89 (厘米)
    6×4  (6
    英寸 4R)   15.24×10.16 (厘米)
    7×5  (7
    英寸 5R)   17.78×12.70 (厘米)
    8×6  (8
    英寸 6R)   20.32×15.24 (厘米)
    10×8 (10
    英寸 8R)  25.40×20.32 (厘米)
    12×10(12
    英寸)    30.48×25.40 (厘米)
    14×12(14
    英寸)    35.56×30.48 (厘米)
    16×12(16
    英寸)    40.64×30.48 (厘米)
    18×12(18
    英寸     45.72×30.48 (厘米
    18×14(18
    英寸)    45.72×35.56 (厘米)
    20×16(20
    英寸)    50.80×40.64 (厘米)
    20×18(20
    英寸     50.80×45.72 (厘米)
    24×20(24
    英寸)    60.96×50.80 (厘米)
    30×24(30
    英寸)    76.20×60.96 (厘米)
    32×24(32
    英寸     81.28×60.96 (厘米
    36×24(36
    英寸)    91.44×60.96 (厘米)
    40×32(40
    英寸     101.6×81.28 (厘米
    42×32(42
    英寸     106.6×81.28 (厘米
    48×32(48
    英寸     121.9×81.28 (厘米)

    (
    注一寸相:如护照,签证申请等,以级学位证书多采用的是大一寸,48毫米×33毫米。而身份证,体检表,等多采用小一寸32毫米×22毫米,第二代身份证 (26mm×32mm),普通一寸相则25mm×35mm。护照旅行证件的相片标准相片尺寸:48mm×33mm,头部宽度为21mm24mm,头部长度为28mm33mm)
       
    图片大小/像素/分辨率之间有什么关系


    各种证件尺寸:表3

    1.
    身份证      (22mm×32mm) 第二代身份证 (26mm×32mm)
    2.
    驾驶证      (22mm×32mm)
    3.
    黑白小一寸  (22mm×32mm)
    4.
    彩色小一寸  (27mm×38mm)
    5.
    彩色大一寸  (40mm×55mm)
    6.
    普通证件照  (33mm×48mm)

    7.1
    英寸      (25mm×35mm)
    8.2
    英寸      (35mm×49mm)
    9.3
    英寸      (35mm×52mm)
    10.
    港澳通行证(33mm×48mm)
    11.
    赴美签证  (50mm×50mm)
    12.
    日本签证  (45mm×45mm)
    13.
    大二寸    (35mm×45mm)
    14.
    护照      (33mm×48mm)
    15.
    毕业生照  (33mm×48mm)
    16.
    驾照      (21mm×26mm)
    17.
    车照      (60mm×91mm) 

    1

    0

    阅读 (77) 评论 (2) 收藏 (0) 转载 (0) 喜欢 打印 举报

    转载列表:

      转载

      转载是分享博文的一种常用方式…

      前一篇: GPIO接口
      后一篇: IIC总线工作原理
      展开全文
    • 【高数】 - 交换二次积分次序时,为什么需要观察上下限大小关系? - 二次积分、累次积分和二重积分分别是什么意思?区别与联系是什么

      【高数】交换二次积分次序时,为什么要观察上下限大小关系?

      一、起因

      看到一道题,对解题过程表示迷惑,为什么需要进行上下限的调整?本质上是不理解概念,搞不清楚这几者互相转化的规律。突然就对二次积分、累次积分、二重积分,几个词产生了深深的怀疑。

      • 交换二次积分次序时,为什么需要观察上下限大小关系?
      • 二次积分、累次积分和二重积分分别是什么意思?区别与联系是什么?

      二、概念理解

      1. 累次积分

        多次单变量积分。

      2. 二次积分

        两次单变量积分。虽然被积函数中含有x和y两个变量,但是每次积分,都把其一当作常数,而对另一个变量积分。第一次积分时,是对一个变量的积分,可以理解为偏积分,得到的是一个函数;第二次积分时,对另一变量积分,得到一个数字。

        二次积分是一种积分运算,是代数意义上的,仅仅对函数和数字进行运算。

      3. 二重积分
        在这里插入图片描述

        因为二重积分的几何背景是,曲顶柱体的体积(顶的高度是因变量)或平面薄片的质量(面密度是因变量)。这两种背景中,Δσi表示的都是面积微元,所以必须是Δσi>0,也即dσi>0。在直角坐标中,也即是dxdy>0,因此积分时注意上下限的相对大小,必须是上限≥下限,才可以表示二重积分。

        简单说,二重积分是关于面积的积分

        同时,二重积分要求函数f(x,y)在有界闭区域D上的有界函数,此时才可积。


      注:一元积分中,dx=Δx,表示增量,可以为正或负。如Δx→0,则表示从正和负两个方向趋向0,所以可以是负值。一元积分要求函数是:①区间上连续或者②区间上有界且仅有限个间断点。

      1. 区别
        二次积分是一种对函数的积分运算,是两次单变量积分,积分结果是一个数,且无几何意义。

        二重积分是对面积的积分,是以面积微元积分的,积分结果是一个数,表示和面积微元有关的、具有几何意义的质量或体积等的值。

      2. 联系
        有篇文章讲解了二者的关系。其中有例子可以帮助理解。
        指路链接:《二重积分与累次积分》
        https://wenku.baidu.com/view/431fe61d2b160b4e767fcf94.html

      总结下其中的结论包括:

      • 二次积分的积分次序交换后,积分不一定存在。
        • 若交换次序后的积分存在,不一定与原来相等。
          • 当交换后积分存在且相等时,二重积分不一定存在。
      • 当二重积分和其中一个二次积分存在时,这二者相等,但另一个二次积分不一定存在。
      • 当函数 f(x,y) 在矩形区域 { (x,y) | a≤x≤b, c≤y≤d } 上连续时,二重积分和两个二次积分均存在,且相等。

      三、解题

      题目摘自《高数18讲》。
      在这里插入图片描述
      如果题目要求对二次积分交换积分次序,则默认该函数是可以交换次序且值相等。
      那和二重积分有什么关系呢?二次积分无所谓上下限的大小,可以直接进行代数运算。

      但是!交换积分次序时,需要重新选定上下限,那么就需要搞清楚它是从哪个二重积分来的,因为二重积分的dxdy>0,所以有着严格的向右积分或是向上积分的规定,也即上限必须要大于等于下限的意思。这时需要对积分的上下限先进行调整,不然易出现正负号混乱的情况。

      在两次积分的上限都≥下限的情况下,才表示二重积分,于是便可以重新选择积分次序!!!

      四、小结

      1. 二次积分是对函数的运算,二重积分是对面积微元的积分!
      2. 当函数 f(x,y) 在矩形区域 { (x,y) | a≤x≤b, c≤y≤d } 上连续时,二重积分和两个二次积分均存在,且相等!
      3. 在两次积分的上限都≥下限的情况下,才表示二重积分,于是便可以重新选择积分次序!

      P.S. 这篇博客引用了其他文章的结论,在是否还是原创上纠结。
      csdn为什么不出一个部分引用的选择呢,文章分类居然只有原创、转载、翻译。
      强迫症觉得哪一类都不算,纠结中选了转载,唔。
      
      参考文献:[1] 张慧琴. 二重积分与累次积分[J]. 吕梁学院学报, 2001(1).
      
      展开全文
    • 来源 处理实验数据,由于很多个小类别,全部个subplot绘制出来,发现两边的空白太多,想把两边空白删除。直接上图处理签和处理后的结果, 实验结果被我hold off 取消...首先明确我们是可以调整matlab图形的具体位置

      来源

      处理实验数据,由于很多个小类别,全部用个subplot绘制出来,发现两边的空白太多,想把两边空白删除。直接上图处理签和处理后的结果, 实验结果被我用hold off 取消掉了,不影响此处说明。
      左上角的数字编号见我另一篇博文,Matlab使用subplot绘制子图时编号(a)(b)©(d) 。 这里由于超过26个字母改位数字了。
      https://blog.csdn.net/jh1513/article/details/105660861
      在这里插入图片描述
      在这里插入图片描述

      解决方法

      首先明确我们是可以调整matlab图形的具体位置,边框等, 相关资料见matlab参考手册以及figure, axes 等属性设置,具体我也没有整太懂,matlab所搜 控制坐标区布局. 在此给一个图,
      在这里插入图片描述
      说了这么多,直接上函数代码,首先是针对单个Figure的调整代码,然后这个代码有应用到subplot情况下。

      figure类型

      这个地方没有设置输出参数,可以考虑输入坐标轴句柄,但是我原来计划是针对当前激活的窗口进行调整的,所以没有输入参数,直接用 gca 获取当前窗口的坐标轴句柄。 在 subplot类型中会设置函数输入参数,具体遇到的问题待会讨论。

      这个函数主要思想是,获取 坐标轴 TightInset 属性(具体参考 Axes 属性中相关介绍),然后获取 Position 属性, 通过两种属性重新计算出一个新的Position属性,当然就是这里把两侧空白区域干掉的。这段代码是网络上找到的,感谢那些网友。
      下面的图(matlab copy的)显示由 OuterPosition 值(蓝色)、Position 值(红色)以及由 TightInset 值(品红色)外扩的 Position 定义的区域。
      在这里插入图片描述

      方法一

      function [] = RemoveFigMarginArea()
      
      inset_vectior = get(gca, 'TightInset');
      % inset_vectior = get(gca, 'Position');
      inset_x = inset_vectior(1);
      inset_y = inset_vectior(2);
      inset_w = inset_vectior(3);
      inset_h = inset_vectior(4);
      
      % OuterPosition
      outer_vector = get(gca, 'OuterPosition');
      pos_new_x = outer_vector(1) + inset_x; % move the orignal point of Position to that of the TightInset
      pos_new_y = outer_vector(2) + inset_y;
      pos_new_w = outer_vector(3) - inset_w - inset_x; % reset the width of Position
      pos_new_h = outer_vector(4) - inset_h - inset_y; % reset the height of Position
      
      % Position
      set(gca, 'Position', [pos_new_x, pos_new_y, pos_new_w, pos_new_h]);
      
      hold on
      end
      
      
      

      方法二

      在matlab 官方英文问答中找到另一种简单语句, matlab官方定义为:
      TightInset - 为 Position 属性值中的宽度和高度所添加的边距,指定为 [left bottom right top] 形式的向量。此属性是只读的。在添加轴标签和标题时,MATLAB® 会更新这些值以适应文本。Position 和 TightInset 属性所定义的边界大小包含所有图形文本。
      他得到坐标轴外侧流出来的左侧,下侧,右侧,上侧的空白区域,归一化单位定义的, 然后用 1 减去水平方向的 left 和 right,得到水平方向宽度,同样得到竖直方向高度,然后把这些值赋值给“Position”属性,即可以消除两侧空白区。
      注意,这个设置应该到导出图形的之前设置,因为更改标题,坐标轴标签会改变‘TightInset ’属性值。

      figure;
      AxesH = axes;
      drawnow;
      InSet = get(AxesH, 'TightInset');
      set(AxesH, 'Position', [InSet(1:2), 1-InSet(1)-InSet(3), 1-InSet(2)-InSet(4)])
      

      核心思想和上面一样,获取 “TightInset” 的值

      subplot类型

      如果把上面那段代码用在建立一个figure 后,又在subplot之前,我这里在使用subplot之后两侧空白区域还是很大,具体原因我没有分析过,然后网上又找到一段代码,我针对自己的应用改了改,如下。
      我在使用中遇到过一个问题,当调整子图大小位置之后,可能出现之前的子图会消失。原因是因为,调整一个子图大小,当其和之前的子图有重合是,之前子图被删除了,详情见matlab官方论坛,相关帖子如下: 帖子一帖子二
      处理方法是:先把所有子图绘制出来,然后在一个一个调整,由于我的子图太多,我的方法是: 创建子图之后获取坐标轴句柄然后把他们存起来, 后面再在循环里面修改子图位置, subFig = subplot(m,n,i); subAxes = gca;

      这里函数设置了输入参数,首先是要调整子图的坐标轴句柄subAxes,然后是subplot的行列数 m,n,最后是当前子图编号,中间设置了左右两边预留距离marginLeftRight 和上下边缘预留距离 marginTopBottom 。

      调整子图大小思想是: 根据你创建subplot子图行列数量将整个figure划分成一个一个小块,由于默认position参数中使用的是跪一个的容器单位,整个长高都为1 则每一个的长高分别为 1/n,1/m; 然后我使用 [col, row] = ind2sub([n,m],p); 计算出当前编号的图在整个figure中的行列位置,注意subplot子图填充顺序和数组元素的顺序是不一样的。我预留 0.05 倍的长度作为 ylabel 的位置,然后上下 0.05 倍高度分别作为 xlabel 和 title 位置,这个参数往往根据整个 figure 的大小调节的,弄出函数输入参数的形式。根据上面这些位置关系我就能计算出每一个子图坐标系的起始位置以及长度和高度,然后设置子图的坐标系位置,最后调整子图外边框的大小(上面Figure类的代码)

      function [] = RemoveSubplotMarginArea(subAxes, m,n,p)
      % Remove the blank area in the margin of the figure/subplot of the current
      % active figure/subplot
      
      % subAxes: handle of the axes of the subplot
      % m :   row of the subplot
      % n :   column of the subplot
      % p :   the index of the current/actived subplot
      
      % Attention: for saving fig, using the following command to set the
      % parameter, otherwise, this function cannot change the fig saved
      % set(gcf, 'PaperPositionMode', 'auto');
      
      if nargin <4
          p = 1;
      
      end
      
      % ind2sub: Convert linear indices to subscripts. Please note that the
      % direction of subplot is different from arrays.
      % col : the column of the actived subplot
      % row : the row of the actived subplot
      [col, row] = ind2sub([n,m],p);
      
      % OuterPosition
      % set the left and right margins for the whole figure 
      marginLeftRight = 0.01; 
      % set the top and bottom margins for the whole figure 
      marginTopBottom = 0.1;
      % The followin code divide the whole fig to m row and n column
      sub_axes_x = (col-1) * (1-2*marginLeftRight)/n                          + marginLeftRight;
      sub_axes_y = (1 - 2*marginTopBottom) -row * (1 - 2*marginTopBottom)/m   + marginTopBottom; 
      sub_axes_w = (1-2*marginLeftRight)/n;
      sub_axes_h = (1-2*marginTopBottom)/m;
      
      % set the margin for title, xlabel, ylabel
      delt_w = 0.05 * 1/n;
      delt_h = 0.05 * 1/m;
      % pos = [sub_axes_x + delt_w, sub_axes_y + delt_h,...
      %                 sub_axes_w - delt_w, sub_axes_h - 2* delt_h]
      set(subAxes, 'OuterPosition', [sub_axes_x + delt_w, sub_axes_y + delt_h,...
                      sub_axes_w - delt_w, sub_axes_h - 2* delt_h]); % OuterPosition
      
      
      % TightInset
      inset_vectior = get(subAxes, 'TightInset');
      % inset_vectior = get(gca, 'Position');
      inset_x = inset_vectior(1);
      inset_y = inset_vectior(2);
      inset_w = inset_vectior(3);
      inset_h = inset_vectior(4);
      
      % OuterPosition
      outer_vector = get(subAxes, 'OuterPosition');
      pos_new_x = outer_vector(1) + inset_x; % move the orignal point of Position to that of the TightInset
      pos_new_y = outer_vector(2) + inset_y;
      pos_new_w = outer_vector(3) - inset_w - inset_x; % reset the width of Position
      pos_new_h = outer_vector(4) - inset_h - inset_y; % reset the height of Position
      
      % Position
      set(subAxes, 'Position', [pos_new_x, pos_new_y, pos_new_w, pos_new_h]);
      
      
      end
      
      
      

      终极方法

      最近看到一个调整边距的方法,如下一条语句,具体链接点我

      set(gca,'LooseInset', max(get(gca,'TightInset'), 0.02))
      
      展开全文
    • 根据窗口大小自动调整任何大小。 此版本尚未经过测试。 可能不工作。 安装 做: $ npm install ab-flowelement --save-dev 用法 // Will add later after testing. 依赖关系 jQuery 执照 麻省理工学院
    • 目标检测 YOLOv5 图像大小与loss权重的关系 flyfish 训练图像的大小的参数 parser.add_argument('--img-size', nargs='+', type=int, default=[640, 640], help='[train, test] image sizes') opt = parser.parse_...

      目标检测 YOLOv5 图像大小与loss权重的关系

      flyfish

      训练时图像的高度和宽度是相等的。
      推理时图像的高度和宽度是可以不相等的。
      batchsize的大小必须能够被GPU个数整除
      如果输入图片大小不是32的整数倍,程序会自动调整到32的整数倍。
      训练图像的大小的参数如下

      parser.add_argument('--img-size', nargs='+', type=int, default=[640, 640], help='[train, test] image sizes')
      opt = parser.parse_args()
      

      第一个640是训练图像的大小,第二个640是测试图像的大小,两者可以不同。

      图像大小必须是32的整数倍,检查图像的width和height能否被32整除

      def check_img_size(img_size, s=32):
      # Verify img_size is a multiple of stride s
      new_size = make_divisible(img_size, int(s))  # ceil gs-multiple
      if new_size != img_size:
          print('WARNING: --img-size %g must be multiple of max stride %g, updating to %g' % (img_size, s, new_size))
      return new_size
      

      假如–img-size参数是[640, 640]
      opt.img_size: [640, 640]

      假如–img-size参数是[640, 320]

      opt.img_size: [640, 320]

      假如–img-size参数是–img-size 1280
      opt.img_size: [1280, 1280]

      这两者的大小分别赋值给imgsz和imgsz_test

      imgsz: 1280
      imgsz_test: 1280
      

      YOLOv5中有三个损失分别是 box, obj, cls

      通过下面这段代码调节三个损失的各自权重
      train.py

      # Model parameters
      hyp['box'] *= 3. / nl  # scale to layers
      hyp['cls'] *= nc / 80. * 3. / nl  # scale to classes and layers
      hyp['obj'] *= (imgsz / 640) ** 2 * 3. / nl  # scale to image size and layers
      

      nl是number of detection layers,检测层的层数,这里是3

      nl = model.model[-1].nl  # number of detection layers (used for scaling hyp['obj'])
      imgsz, imgsz_test = [check_img_size(x, gs) for x in opt.img_size]  # verify imgsz are gs-multiples
      

      看一下图像大小分别是1280,640,320,224的时候,各自权重分别是多少

      Image sizes 1280

      nl: 3
      hyp['box']: 0.05
      hyp['obj']: 4.0
      hyp['cls']: 0.5
      

      Image sizes 640

      nl: 3
      hyp['box']: 0.05
      hyp['obj']: 1.0
      hyp['cls']: 0.5
      

      Image sizes 320

      nl: 3
      hyp['box']: 0.05
      hyp['obj']: 0.25
      hyp['cls']: 0.5
      

      Image sizes 224

      nl: 3
      hyp['box']: 0.05
      hyp['obj']: 0.12249999999999998
      hyp['cls']: 0.5
      

      在loss计算时会乘上各自的权重
      loss.py

      lbox *= self.hyp['box']
      lobj *= self.hyp['obj']
      lcls *= self.hyp['cls']
      

      训练时会过滤掉小于2像素的框

      # Filter
      i = (wh0 < 3.0).any(1).sum()
      if i:
          print(f'{prefix}WARNING: Extremely small objects found. {i} of {len(wh0)} labels are < 3 pixels in size.')
      wh = wh0[(wh0 >= 2.0).any(1)]  # filter > 2 pixels
      
      展开全文
    • 在《PyQt(Python+Qt)学习随笔:Qt Designer中部件的三个属性...《PyQt(Python+Qt)学习随笔:部件的大小策略sizePolicy的含义》、《PyQt(Python+Qt)学习随笔:Qt Designer中部件mimimumSize和maximumSize的含义》分...
    • matplotlib 中设置图形大小的语句如下: fig = plt.figure(figsize=(a, b), dpi=dpi) 其中: figsize 设置图形的大小,a 为图形的宽, b 为图形的高,单位为英寸 dpi 为设置图形每英寸的点数 则此时...
    • 1,网上的信息大多比较零散,我只知道这些内容是有关系的,并不清楚具体的差别大小。所以我就最笨的方法进行了很多次打包,把各种情况做一个对比,一次搞清楚。那样就能知道到底从哪个方向优化比较好。 2,因为...
    • epoch的大小跟迭代次数有着密切的关系,我认为通常在迭代次数处于2000-3000之间损失已经处于平稳,大部分在第2000之前已经趋于稳定,如果在2000-3000区间损失仍较大幅度变化,说明你的数据或模型问题。...
    • NPN和PNP 的电流方向 、大小关系 、电压偏置

      万次阅读 多人点赞 2021-01-22 11:51:04
      偏置电路往往若千元件,其中一重要电阻,往往要调整阻值,以使集电极电流在设计规范内。这要调整的电阻就是偏置电阻, 在稳态时(无信号)通过电阻为电路提供或泄放一定的电压或电流,使电路满偏置: 在电路某点...
    • echarts 调整图表大小的方法

      千次阅读 2018-08-15 15:23:00
      第一次使用Echarts,大小用的不是那么随心应手,通过文档和百度出的结果,发现其实很简单: 内部图表大小是与div容器大小相关的,如果想调整图表大小调整div就可以了 如果是想调整图表与div间上下左右留白,则...
    • 笔者最近在制作四轴,买了天地飞6通II代遥控器,发现说明书写的简直不堪入目,对于大小动作的解释和D/R开关的解释几乎没有。于是自己示波器慢慢摸索规律,在这里总结给大伙分享一下。
    • 其他音之间都是全音关系),D大调音阶包括的音就是1(D)、2(E)、3(#F)、4(G)、5(A)、6(B)、7(#C),其他也是这么推算的,大家可以自己试试,然后再结合自己知道的某的和弦去理解,就知道为什么每个...
    • 线程数以及虚拟内存大小关系

      千次阅读 2012-12-13 09:30:57
      之前个小项目,具体需求是: 完成一个客户端,按照某一速度向服务器发送Radius请求,并处理服务器返回的响应. 实现方案: 采用多线程方式实现,每个线程负责发送请求,并等待服务器返回的响应.  测试发现,发送速度...
    • Gephi 网络可视化——调整节点大小

      千次阅读 2019-12-04 22:14:27
      使用 pagerank 调整节点大小
    • 步骤二 执行以上操作后,会打开定义对话框,可以调整公式不同位置的字母的大小,同时也可以选择不同的单位进行调整。 步骤三 为了演示调整测试文档公式的字体大小调整公式字体使其变成二号字体一样大,采用的...
    • XDMA流传输单次dma事务大小调整

      千次阅读 2019-07-11 16:29:11
      从stream中读数据失败,说明ring buffer是无效的,或者说ring buffer大小不够容纳这一次的突发DMA事务,考虑加大驱动程序申请的ring buffer容量 由以上,将RING_BLOCKs的数量由258至32770,对应的ring_...
    • ----------------------------------------------------------------------------------...MFC编写时,经常需要在运行时动态调整窗口大小,并且使里面的控件和视图也随窗口的大小变化而发生相应变化。 在这之间,您需要
    • 什么是NFV?它与SDN有什么关系?

      万次阅读 多人点赞 2018-09-09 21:27:31
      这两者关系密不可分,但两者关系严重缺乏对称性,网络一直拖累着计算。 4G网络RAN将会不断进化,据说,未来的4G网络空口速率将是现在的10倍。随着智能硬件的爆发,大量的应用接入4G网络,人们的流量需...
    • 便想要去修改,在Ubuntu自带的Terminal里面可以很轻松的设置默认展示的行数和列数,但是似乎在terminator里面只能修改高和宽的像素大小,便去查资料看看像素大小和行数列数(进而引申到字号)的关系
    • 首先看一个现象,最近在嵌入式项目开发中发现的,下面是设备的内存总量及使用: ...总量是24M左右,项目主程序大小1M不到,但是在默认的系统环境设置下,...VSZ的大小是221MB,所以计算出来的内存使用百分比是935
    • h5根据手机尺寸调整字体大小

      千次阅读 2018-06-26 14:47:24
      1、允许网页宽度自动调整:首先,在网页代码的头部,加入一行viewport元标签。&lt;meta name="viewport"content="width=device-width, initial-scale=1"/&gt;viewport是网页默认的...
    • 图片的尺寸和分辨率有什么关系

      千次阅读 2017-10-01 08:42:07
      就数字图片来说,图片的尺寸几个概念,好多人搞不清楚,说起来容易混淆。其中一个指图片的像素数多少,就是在横向上和纵向上多少个像素,组成一个矩阵,就是你看到的图片,比如你听到的800*600,1600*1200等。另...
    • Myeclipse调整虚拟内存大小

      万次阅读 2011-09-13 20:04:40
      在Myeclipse中可以这样更改内存的大小:   安装目录下的myeclipse\Genuitec\MyEclipse 8.xLatest 找到安装时候的myeclipse.ini文件,打开显示如下内容: -startup ../Common/plugins/org.eclip
    • 在vue中一个组件需要通过点击事件来切换不同的图表样式和数据,在写的过程中发现上一个图表的位置和下一个图表的位置大小差之甚远,但是图表容器的大小是一样的,后发现是图表和容器的位置问题,解决如下: ...
    • Unity 之 UGUI Image 和 粒子特效显示层级关系调整
    • LVM调整分区大小

      千次阅读 2008-01-21 18:17:00
      LVM(Logical Volume Manager) , 在实际硬盘和文件系统之间划出一层,方便了分区...例如:hda1, sda1, c0d0p1, etc.VG(Volume Group) - 逻辑上的硬盘,很多个PV来组成。VG可以看作是一块很大的硬盘。LV(logical volum
    • 解决:尝试降低网络的深度和宽度、batch size 的大小  深度学习中神经网络的显存占用,我们可以得到如下公式: 显存占用 = 模型显存占用 + batch_size × 每个样本的显存占用 时间更宝贵,尽可能使模型...

    空空如也

    空空如也

    1 2 3 4 5 ... 20
    收藏数 366,034
    精华内容 146,413
    关键字:

    关系大小调有什么用