niusouti.com

将下面的图像进行直方图均衡处理。 (1)列表写出图像均衡化的过程(书上的格式或补充课件上的格式均可以); (2)画出均衡化以后的图像; (3)画出原始图像直方图和均衡化以后的图像直方图。 1 3 9 9 8 2 1 3 7 3 3 6 0 6 4 6 8 2 0 5 2 9 2 6 0

题目

将下面的图像进行直方图均衡处理。 (1)列表写出图像均衡化的过程(书上的格式或补充课件上的格式均可以); (2)画出均衡化以后的图像; (3)画出原始图像直方图和均衡化以后的图像直方图。 1 3 9 9 8 2 1 3 7 3 3 6 0 6 4 6 8 2 0 5 2 9 2 6 0


相似考题

2.●试题四阅读以下说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】将一正整数序列{K1,K2,…,K9}重新排列成一个新的序列,新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面),最后调用writeDat()函数的新序列输出到文件out.dat中。在程序中已给出了10个序列,每个序列有9个正整数,并存入数组a[10][9]中,分别求出这10个新序列。例:序列 {6,8,9,1,2,5,4,7,3}经重排后成为{3,4,5,2,1,6,8,9,7}【函数】#include<stdio.h>#include<conio.h>void jsValue(int a[10][9]){int i,j,k,n,temp;int b[9];for(i=0;i<10;i++){temp=a[i][0];k=8;n=0;for(j=8;j=0;j--){if(temp<a[i][j]) (1) =a[i][j];if(temp>a[i][j]) (2) =a[i][j];if(temp=a[i][j]) (3) =temp;}for(j=0;j<9;j++)a[i][j]=b[j];}}void main(){int a[10][9]={{6,8,9,1,2,5,4,7,3},{3,5,8,9,1,2,6,4,7},{8,2,1,9,3,5,4,6,7},{3,5,1,2,9,8,6,7,4},{4,7,8,9,1,2,5,3,6},{4,7,3,5,1,2,6,8,9},{9,1,3,5,8,6,2,4,7},{2,6,1,9,8,3,5,7,4},{5,3,7,9,1,8,2,6,4},{7,1,3,2,5,8,9,4,6}};int i,j;(4) ;for(i=0;i<10;i++){for(j=0;j<9;j++){printf("%d",a[i][j]);if( (5) )printf(",");}printf("\n");}getch();}

参考答案和解析
(1)统计原图像每一灰度级的像素数和累积像素数。 (2)计算每一灰度级xa均衡化后对应的新值,并对其四舍五入取整,得到新灰度级xb。 (3)以新值替代原灰度值,形成均衡化后的新图像。 (4)根据原图像像素统计值对应找到新图像像素统计值,作出新直方图。
更多“将下面的图像进行直方图均衡处理。 (1)列表写出图像均衡化的过程(书上的格式或补充课件上的格式均可以); (2)画出均衡化以后的图像; (3)画出原始图像直方图和均衡化以后的图像直方图。 1 3 9 9 8 2 1 3 7 3 3 6 0 6 4 6 8 2 0 5 2 9 2 6 0”相关问题
  • 第1题:

    {0、2、1、4、3、9、5、8、6、7}是以数组形式存储的最小堆,删除堆顶元素0后的结果是()

    A.{2、1、4、3、9、5、8、6、7}

    B.{1、2、5、4、3、9、8、6、7}

    C.{2、3、1、4、7、9、5、8、6}

    D.{1、2、5、4、3、9、7、8、6}


    正确答案:D

  • 第2题:

    下面程序段是计算()公式的。s=0:t=1Fori=1To10t=t*is=s+tNexti

    A.s=1+2+3+4+5+6+7+8+9+10

    B.s=1*2*3*4*5*6*7*8*9*10

    C.s=1!+2!+3!+4!+5!+6!+7!+8!+9!+10!

    D.s=1+2*3+3*4+4*5+5*6+6*7+7*8+8*9+9*10


    正确答案:C

  • 第3题:

    阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。

    【说明】

    将一正整数序列{K1,K2,…,K9}重新排列成一个新的序列,新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面),最后调用writeDat()函数的新序列输出到文件out.dat中。

    在程序中已给出了10个序列,每个序列有9个正整数,并存入数组a[10][9]中,分别求出这10个新序列。

    例:序列{6,8,9,1,2,5,4,7,3}

    经重排后成为{3,4,5,2,1,6,8,9,7}

    【函数】

    include < stdio. h >

    include < conio. h >

    void jsValue( int a [10] [9] )

    { int i,j,k,n,temp;

    int b[9];

    for(i=0;i<10;i++)

    { temp=a[i] [0];

    k=8;n=0;

    for(j=8;j=0;j--)

    { if(temp < a[i] [j]) (1)=a[i][j];

    if(temp >a[i] [j]) (2)=a[i][j];

    if(temp =a[i] [j]) (3)= temp;

    }

    for(j=0;j<9;j++) a[i][j] =b[j];

    }

    }

    void main( )

    int a[10] [9] = {{6,8,9,1,2,5,4,7,3},{3,5,8,9,1,2,6,4,7},

    {8,2,1,9,3,5,4,6,7}, {3,5,1,2,9,8,6,7,4},

    {4,7,8,9,1,2,5,3,6}, {4,7,3,5,1,2,6,8,9},

    {9,1,3,5,8,6,2,4,7}, {2,6,1,9,8,3,5,7,4},

    {5,3,7,9,1,8,2,6,4}, {7,1,3,2,5,8,9,4,6}

    };

    int i,j;

    (4);

    for(i=0;i<10;i++) {

    for(j=0;j<9;j++) {

    printf("%d",a[i] [j] );

    if((5))printf(",");

    }

    printf(" \n" );

    }

    getch( );

    }


    正确答案:(1)b[k--] (2)b[n++] (3)b[n] (4)jsValue(a) (5)j=7
    (1)b[k--] (2)b[n++] (3)b[n] (4)jsValue(a) (5)j=7 解析:在主函数中先要调用函数jsValue()对数组a进行处理,所以(4)空应填入“jsValue(a)”。然后输出数组元素,同一行的元素之间用逗号分隔,所以(5)空应填入“j=7”。
    函数jsValue()是将数组按题目要求进行排序。通过观察发现处理后的数组中元素的顺序与原来的顺序相反,并且每一行中没有与第一个数相同的数,所以是从后往前处理,也就是将每组从最后往前倒序逐个问第一个数比较,比它大的就放到临时数组b中的最后,比它小的就放到临时数组b中的最前面,以次类推,所以(1)空应填入“b[k- -]”,(2)空应填入“b[n++],(3)空应填入“b[n]”。最后将b数组赋给a数组。

  • 第4题:

    当执行下面的语句定义一维数组a后,此数组的所有元素为 ( ) inta[10];

    A.a[1],a[2],a[3],a[4],a[5],a[6],a[8],a[9],a[10],a[10]

    B.a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]

    C.a[0],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]

    D.a[1],a[2],a [3],a[4],a [5],a [9],a [7],a [8],a [9],a [10],a [11]


    正确答案:B

  • 第5题:

    有下列程序: #include<stdi0.h> voidfun(inta,intb) {intt; t=a;a=b;b=t; voidmain( ) {intc[1O]={1,2,3,4,5,6,7,8,9,0},i; for(i=0;i<10;i+=2)fun(c[i],c[i+1]); for(i=0;i<10;i++)printf(”%d,”,c[i]); printf("\n"); } 程序的运行结果是( )。

    A.1,2,3,4,5,6,7,8,9,0

    B.2,1,4,3,6,5,8,7,0,9

    C.0,9,8,7,6,5,4,3,2,1

    D.0,1,2,3,4,5,6,7,8,9


    正确答案:A
    A。【解析】在程序中实参向形参传递数据的方式是“值传递”,如果实参传递给形参是变量的值,就是数值传递,并不能改变实参的值,所以数组c[10]的值不变。

  • 第6题:

    有以下程序:

    A.1,2,3,4,5,6,7,8,9,0,

    B.0,9,8,7,6,5,1,2,3,4,

    C.0,9,8,7,6,5,4,3,2,1,

    D.1,2,3,4,9,8,7,6,5,0,


    正确答案:D
    fun()函数的功能是对数组a[]的元素从大到小进行排序。

  • 第7题:

    有以下程序:include main( ){int a[ ] = { 1,2,3,4,5,6,7,8,9,0} , * p;for(p =a;p

    有以下程序:#include <stdio. h>main( ){ int a[ ] = { 1,2,3,4,5,6,7,8,9,0} , * p; for(p =a;p<a+10;p++) printf("%d," , *p); }程序运行后的输出结果是( )。

    A.1,2,3,4,5,6,7,8,9,0,

    B.2,3,4,5,6,7,8,9,10,1,

    C.0,1,2,3,4,5,6,7,8,9,

    D.1,1,1,1,1,1,1,1,1,1,


    正确答案:A
    解析:C语言规定数组名代表数组的首地址,所以for循环中循环变量p的初值即&a[o),故输出的*p的值为a[0]的值。执行p++后,指针变量P指向a[1],这时输出*P即输出a[1]的值,经过10次循环,将输出a数组的全部数据:1,2,3,4,5,6,7,8,9,0,

  • 第8题:

    为什么对图像进行直方图均衡化后,通常不能产生完全平坦的直方图?


    正确答案:图像的灰度级只有有限个,在一些灰度级中没有像素,在另一些灰度级中像素却十分拥挤。而且不能将同一灰度级的像素映射到不同的灰度级。因此实际均衡化后的直方图只是相对原图的直方图更加平坦一些。

  • 第9题:

    将随机分布的图像直方图修改为均匀分布的输出图像直方图称为()

    • A、直方图规定化
    • B、直方图均衡
    • C、直方图正态化
    • D、直方图拉伸

    正确答案:B

  • 第10题:

    单选题
    将随机分布的图像直方图修改为均匀分布的输出图像直方图称为()
    A

    直方图规定化

    B

    直方图均衡

    C

    直方图正态化

    D

    直方图拉伸


    正确答案: B
    解析: 暂无解析

  • 第11题:

    单选题
    使用图像处理软件可以对图像进行()。 (1)放大、缩小 (2)上色 (3)裁剪 (4)扭曲、变形 (5)叠加 (6)分离
    A

    (1)(3)(4)

    B

    (1)(2)(3)(4)

    C

    (1)(2)(3)(4)(5)

    D

    (1)(2)(3)(4)(5)(6)


    正确答案: D
    解析: 暂无解析

  • 第12题:

    单选题
    下列属于十进制作数码的是:()
    A

    0、1、2、3、4、5、6、7

    B

    0、1

    C

    0、1、2、3、4、5、6、7、8、9

    D

    0、1、2、3、4、5、6


    正确答案: B
    解析: 暂无解析

  • 第13题:

    3 .编制会计凭证

    考生以操作员的身份根据所给经济业务编制录入会计凭证。

    5 日,用银行存款6 8 0 0 元预付明年保险费。

    借:预付账款——保险费( 2 2 0 5 ) 6 8 0 0

    贷:银行存款( 1 0 0 2 ) 6 8 0 0

    8 日,开出现金支票购买当月办公用品9 6 0 元。

    借:管理费用( 5 5 0 2 ) 9 6 0

    贷:应付票据( 2 2 0 1 ) 9 6 0

    1 3 日, 收到银行付款通知, 本月支付水电费l 9 3 0 0 元, 其中: 车间1 0 0 0 0 元, 厂部9 3 0 0 元。

    借:制造费用( 1 6 0 1 ) 1 9 3 0 0

    贷:银行存款( 1 0 0 2 ) 1 9 3 0 0

    2 5 日,将净利润9 8 7 4 0 元转入利润分配账户。

    借:本年利润( 5 5 0 3 ) 9 8 7 4 0

    贷:利润分配( 6 5 0 4 ) 9 8 7 4 0


    正确答案:
            3 .填制凭证
            打开“总账”一“凭证”一“填制凭证”,打开空白凭证,单击“增加”。
            修改凭证类型“记”、凭证日期“2 0 0 8 年1 月5 日”。输入摘要“预付明年保险费”;输入科目名称“2 2 0 5 预付账款——保险费”,借方金额“6 8 0 0 ”,回车;摘要自动带到下一行,输入科目名称“1 0 0 2 银行存款” , 贷方金额 “6 8 0 0 ” 。 单击 “保存” 按钮, 弹出 “凭证已成功保存! ” 信息提示框,单击“保存”按钮。
            增加凭证
            继续点击“填制凭证”,打开空白凭证一张,单击“增加”。修改凭证类型为“记”、凭证日期“2 0 0 8 年1 月8 日”。输入摘要“购买办公用品”;输入科目名称“5 5 0 2 管理费用”,借方金额“9 6 0 ”,回车。摘要自动带到下一行,输入科目名称“2 2 0 1 应付票据”,输入贷方金额“9 6 0 ”,回车。单击“保存”。
            业务3 : 继续点击 “填制凭证” , 打开空白凭证一张, 单击 “增加” 。 修改凭证类型“记” 、 凭证日期“2 0 0 8 年1 月1 3 日”。输入摘要“支付水电费”,输入科目名称“l 6 0 1 制造费用”,输入借方金额“l 9 3 0 0 ”,回车。摘要自动带到下一行,输入科目名称“l 0 0 2 银行存款”,输入贷方金额“1 9 3 0 0 ”,回车。单击“保存”。
            业务4 : 继续点击 “填制凭证” , 打开空白凭证一张, 单击 “增加” 。 修改凭证类型为“记” 、 凭证日期“2 0 0 8 年1 月2 5 日”。输入摘要“将净利润转入利润分配”,输入科目名称“5 5 0 3 本年利润”,借方金额“9 8 7 4 0 ”,回车。摘要自动带到下一行,输入科目名称“6 5 0 4 利润分配”,输入贷方金额“9 8 7 4 0 ”,回车。单击“保存”。

  • 第14题:

    下列二维数组初始化语句中,不正确的是( )。

    A.int b[][5]={2,9,6,0,8,7,4};

    B.int b[3][5]={0,0,9}

    C.int b[][4]={{3,9},{7,6,8},{2}};

    D.int b[3)[2]={(8,4),(2,1),(5,9)};


    正确答案:D
    解析:选项D)定义的是3行2列的数组,赋值时应该用“{}”而不是“()”来对每一行的数组元素进行赋值。注意:二维数组元素的引用。

  • 第15题:

    有以下程序:程序的运行结果是( )。

    A.1,2,3,4,5,6,7,8,9,0,

    B.2,1,4,3,6,5,8,7,0,9,

    C.0,9,8,7,6,5,4,3,2,1,

    D.0,1,2,3,4,5,6,7,8,9,


    正确答案:A
    在c语言中函数参数的传递是”传值”的,即形参和实参是两个没有关系的变量,函数fun虽然看似交换了参数值,但是只交换了形参的值,其结果不会传递给实参,因此数组c没有变化。主函数中给数组c元素赋值l,2,…,9,0。第一个for循环语句中调用fun函数,该函数功能是交换变量的数值,注意循环变量i的增量。第二个for循环语句将数组c中元素的值进行输出。

  • 第16题:

    有以下程序main() { int a[]={1,2,3,4,5,6,7,8,9,0},*p; for(p=a;p<a+10;p++) printf("%d,",*p);}程序运行后的输出结果是A.1,2,3,4,5,6,7,8,9,0, B.2,3,4,5,6,7,8,9,10,1, C.0,1,2,3,4,5,6,7,8,9, D.1,1,1,1,1,1,1,1,1,1,


    正确答案:A
    在本题中,程序首先定义了一个一维数组a,并赋了初值,数组a中元素的个数为10个,另外,程序定义了一个同类型的指针变量p。然后用一个for循环用指针变量p对数组进行操作。在循环开始前,将指针变量指向数组的开始位置,即指向数组的第一个元素。
    第一次循环时,指针变量p指向的是数组第一个元素,输出该元素应该为1;然后指针变量自加1,即将指针变量后移一位,使其指向数组的第二个元素,开始第二次循环,此时,指针变量指向数组第二个元素,输出该元素为2,然后指针变量自加1。同样,利用指针变量p可以输出数组中后面的元素,直到输出最后一个元素。因此,最后的输出结果是1,2,3,4,5,6,7,8,9,0,。

  • 第17题:

    有以下程序程序的运行结果是( )。A.1,2,3,4,5,6,7,8,9,0,B.2,1,4,3,6,5,8,7,0,9,SXB

    有以下程序

    程序的运行结果是( )。

    A.1,2,3,4,5,6,7,8,9,0,

    B.2,1,4,3,6,5,8,7,0,9,

    C.0,9,8,7,6,5,4,3,2,l,

    D.0,1,2,3,4,5,6,7,8,9,


    正确答案:A
    函数调用中发生的数据传递是单向的,即只能把实参的值传递给形参。而不能把形参的值反向地传递给实参。因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化,所以数组C中的元素的值并没有变化,故选择A)。

  • 第18题:

    下列程序中函数sort()的功能是对数组a中的数据进行由大到小的排序。 A.1,2,3,4,5,6,7,8,9,l0,S

    下列程序中函数sort()的功能是对数组a中的数据进行由大到小的排序。

    A.1,2,3,4,5,6,7,8,9,l0,

    B.10,9,8,7,6,5,4,3,2,1,

    C.1,8,7,6,5,4,3,2,9,10,

    D.1,2,10,9,8,7,6,5,4,3,


    正确答案:C
    本程序中的函数sort(inta[],intn)实现的功能是将数组a中的前n个数进行从大到小排序。sort(&a[1],7)是将数组中从a[1]~a[7]这7个数进行从大到小排序,其他数不变。

  • 第19题:

    AD166机器图像形成过程: 1.感光鼓充电; 2.曝光; 3.显影; 4.图像转印; 5.纸张分离; 6.定影; 7.PC感光鼓清洁; 8.电荷中和; 9.图像转印辊清洁; 10.碳粉恢复。 下列排序正确的是()

    • A、1-2-3-4-6-5-7-8-9-10
    • B、1-2-3-4-5-6-7-8-9-10
    • C、1-2-3-5-4-6-7-8-10-9
    • D、1-2-3-4-6-5-7-9-8-10

    正确答案:B

  • 第20题:

    下列属于十进制作数码的是:()

    • A、0、1、2、3、4、5、6、7
    • B、0、1
    • C、0、1、2、3、4、5、6、7、8、9
    • D、0、1、2、3、4、5、6

    正确答案:C

  • 第21题:

    使用图像处理软件可以对图像进行()。 (1)放大、缩小 (2)上色 (3)裁剪 (4)扭曲、变形 (5)叠加 (6)分离

    • A、(1)(3)(4)
    • B、(1)(2)(3)(4)
    • C、(1)(2)(3)(4)(5)
    • D、(1)(2)(3)(4)(5)(6)

    正确答案:B

  • 第22题:

    问答题
    如果一幅图像已经用直方图均衡化方法进行了处理,那么对处理后的图像再次应用直方图均衡化,处理的结果会不会更好?

    正确答案: 不会更好;处理结果与处理前结果大致相同,没有太大的变化,只是平均值稍有所变。
    解析: 暂无解析

  • 第23题:

    单选题
    有以下程序:#include void fun(int a,int b){ int t; t=a; a=b; b=t;}main(){ int c[10]={1,2,3,4,5,6,7,8,9,0},i; for(i=0;i<10;i+=2)fun(c[i],c[i+1]); for(i=0;i<10;i++)printf(%d,,c[i]); printf();}程序运行的结果是(  )。
    A

    1,2,3,4,5,6,7,8,9,0,

    B

    2,1,4,3,6,5,8,7,0,9,

    C

    0,9,8,7,6,5,4,3,2,1,

    D

    0,1,2,3,4,5,6,7,8,9,


    正确答案: A
    解析:
    在C语言中,函数参数传递的作用是“传值”,形参和实参是两个没有关系的变量。函数fun交换了参数值,但只是交换了形参的值,结果并不会传递给实参。所以数组c没有发生变化,原顺序输出。答案选择A选项。

  • 第24题:

    单选题
    有以下程序 #include  void fun(int *a,int n) {  int t,i,j;  for(i=0;i   for(j=i+1;j    if(a[i]    {     t=a[i];     a[i]=a[j];     a[j]=t;    } } main() {  int c[10]={1,2,3,4,5,6,7,8,9,0},i;  fun(c+4,6);  for(i=0;i  printf(""); } 程序的运行结果是(  )。
    A

    1,2,3,4,9,8,7,6,5,0,

    B

    0,9,8,7,6,5,1,2,3,4,

    C

    0,9,8,7,6,5,4,3,2,1,

    D

    1,2,3,4,5,6,7,8,9,0,


    正确答案: A
    解析:
    在本题中,主函数在调用fun函数进行排序时,传递的参数是c+4和6,fun函数实现的功能是将数组c的第5个元素开始的6个元素依次进行从大到小的顺序排列。排序之后,数组c的内容变为{1,2,3,4,9,8,7,6,5,0}。答案选择A选项。