線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:878
推到 Plurk!
推到 Facebook!

[求助]有哪位高手可以帮我一下!!

尚未結案
艾薇
一般會員


發表:1
回覆:1
積分:0
註冊:2005-05-25

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-25 18:36:44 IP:221.225.xxx.xxx 未訂閱
最近在做颜色特征提取方面的东西 想把YUV转RGB和RGB转HSI的算法放在一起,但是接口文件一直写不好,有哪位高手可以帮帮我啊??教我一下,或者是发个完整的算法给我。 我是菜鸟,需要帮助! 我是菜菜鸟 發表人 - 艾薇 於 2005/05/25 18:38:01
------
我是菜菜鸟
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-25 19:04:18 IP:210.68.xxx.xxx 未訂閱
您好: 1.請為您的問題取一個有意義的標題 2.請將您有問題的程式碼PO上來讓前輩們幫您看看    順心
艾薇
一般會員


發表:1
回覆:1
積分:0
註冊:2005-05-25

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-25 19:37:41 IP:221.225.xxx.xxx 未訂閱
ShowMassage("#include 
        void
           { 
            FILE *fp;                /*定义一个文件指针*/ 
            int i; 
          
           if(fp==NULL)             /*判断文件是否打开成功*/ 
             puts("File open error");/*提示打开不成功*/ 
          i=fclose(fp);            /*关闭打开的文件*/ 
          if(i==0)                 /*判断文件是否关闭成功*/ 
            printf("O,K");         /*提示关闭成功*/ 
          else 
            puts("File close error");/*提示关闭不成功*/ 
//播放的视频尺寸为176 X 144,建立一个frame的缓冲区
        unsigned char *imgYUV = new unsigned char [176*144*3];//176*144=25344
          double Y,U,V,C,D,E;
          unsigned char R,G,B;
          int width,height,j,k;
          //得到绘图句柄
        CClientDC dc (this);
        width=176;
        height=144;
        //打开文件
        fp=fopen("foreman_part_qcif_444.yuv", "rb");  /*打开当前目录名为foreman_part_qcif_444.yuv的文件只读*/ 
//读取文件,每次读一桢
        while (fread(imgYUV, 1, 25344*3, fptr) > 0 ){
                for(k=0; k 235)        /* too bright (ADDED) */
                {
                        outputbits[i] = 0;                // 色调未被定义                            outputbits[i 1] = 0;        // 颜色的饱和度为0                    }
                else                /* chromatic case */
                {
                        if (intensity <= 127)        /* bottom cone (dark) */
                                saturation = (255 * (max - min)) / (max   min);
                        else        /* top cone (bright) */
                                saturation = (255 * (max - min)) / 
                                                (512 - max - min);
                        if ((saturation < 0) || (saturation > 255))
                                OutputText("Problem with saturation\n");
                        outputbits[i 1] = (unsigned char) saturation;                            if (r == max)
                                hue = (60 *(g -b))/(max - min);
        /* 颜色介于黄色与品红之间 */
                        else if (g == max)
                                hue = 60*2   (60*(b-r))/(max-min);
        /* 颜色介于青色与黄色之间 */
                        else
                                hue = 60*4   (60*(r-g))/(max-min);        
        /* 颜色介于品红与青色之间 */
                        if (hue < 0)
                                hue = hue   360;
                        if ((hue < 0) || (hue > 360))
                                OutputText("Problem with hue\n");
                        temp = (255 * hue) / 360;
                        outputbits[i] = (unsigned char) temp;
                }
        }
        return(outputbits);
}
//关闭文件
        fclose(fptr);
} ")
这是我写的大概的转换算法,后面关于RGB转HSI的算法还不确定,可能有很多错误。 请帮我看看,这样写是否可以。 谢谢 我是菜菜鸟 發表人 - 艾薇 於 2005/05/25 19:58:28
------
我是菜菜鸟
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-25 19:44:56 IP:210.68.xxx.xxx 未訂閱
您好:    請為您的問題取一個有意義的標題 PO程式碼的方式請參考版規說明,煩請修改謝謝您的配合 >
系統時間:2024-04-27 22:32:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!