k99
一般會員
發表:8 回覆:16 積分:4 註冊:2005-07-27
發送簡訊給我
|
請問各位程式前輩~~小弟剛接觸BCB不久~~所以來請教大大 1. 請問如何把陣列的值轉秀到image上??是只要把陣列裡的值直接拿到image裡面就可以嗎??
是不是像 Image1->Picture->Bitmap->Canvas->Pixels[x][y]=aa[i][j] 這樣嗎??
還是說不行這樣 要用別的方法~~可是我a[][]的大小是8*8 ,image的大小是800*600,一個像素丟
會不會太慢阿?? 2. 另外請問要怎麼把一個8*8大小的陣列裡面的值一次塞到image裡面呢?
因為小弟在做DCT轉換,所以用到8*8的陣列,可是轉完後可以像Matlab一樣,一次給她規定一個範圍
然後直接丟嗎??
請大大不悋指教^^
|
taishyang
站務副站長
發表:377 回覆:5490 積分:4563 註冊:2002-10-08
發送簡訊給我
|
您好:
請先利用[搜尋]功能翻翻舊文章,有問題再提出
|
k99
一般會員
發表:8 回覆:16 積分:4 註冊:2005-07-27
發送簡訊給我
|
對不起~~大大~~我有找過 查詢那邊~~可是都沒有小弟要的答案呢~~~
請大大指點迷津~~ ^^
|
taishyang
站務副站長
發表:377 回覆:5490 積分:4563 註冊:2002-10-08
發送簡訊給我
|
您好:
請將您的程式碼PO上來好讓前輩們幫您看看問題在哪邊
|
k99
一般會員
發表:8 回覆:16 積分:4 註冊:2005-07-27
發送簡訊給我
|
你好 大大 以下程式是小弟在網路上面找到的參考資料~雖然蠻長的~可是麻煩大大看一下~大致上小弟還看的懂~可是作者的一些宣告 小弟看不懂 >"< 可以指導一下小弟嗎~^^
//---------------------------------------------------------------------------
#include
#include
#include <math.h>
#pragma hdrstop
#include
#include
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
unsigned char **ImageMatrix;
int ImageHeight=0,ImageWidth=0;
int ImageOpen=0,g_bl=0,DCT_bl=0;
int TH,TW;//作為暫存原來之長寬用
int IDXH,IDXW;//作為8x8區塊之Index用
int i,j,u,v;//迴圈控制使用變數
typedef struct
{
unsigned char g_arr[8][8];
float dct_arr[8][8];
}
Block_64;
Block_64 **YBlock; void DCT(float result[8][8], unsigned char source[8][8])
{
float C[8],Cos[8][8];
float temp;
int i,j,u,v; for(i=0;i<8;i )
{
for(j=0;j<8;j )
{
Cos[i][j]=cos((2*i 1)*j*(3.14)/16);
}
}
C[0]=0.35355339;
for(i=1;i<8;i )
C[i]=0.5; for(u=0;u<8;u )
for(v=0;v<8;v )
{
temp=0.0;
for(i=0;i<8;i )
for(j=0;j<8;j )
temp =Cos[i][u]*Cos[j]*( >;
>=>>>>>>>>>>>>>>>>>>> >.>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >. >.>Caption="DCT值:" class="code"> 請問大大 他最下面的 DCT(YBlock[u]. >. > 以下是我發文時問的問題
>>>> >
|
taishyang
站務副站長
發表:377 回覆:5490 積分:4563 註冊:2002-10-08
發送簡訊給我
|
您好: PO程式碼的方式與版規說明請參考下面連結,煩請修改謝謝您的配合
>
|
k99
一般會員
發表:8 回覆:16 積分:4 註冊:2005-07-27
發送簡訊給我
|
咦~~奇怪 我有看板規 發文時也有按#來把程式框起來阿 = = 對不起歐 我修改看看 ^^ 怎麼有些程式碼變成紅臉阿 = = 你好 大大 以下程式是小弟在網路上面找到的參考資料~雖然蠻長的~可是麻煩大大看一下~大致上小弟還看的懂~可是作者的一些宣告 小弟看不懂 >"< 可以指導一下小弟嗎~^^
#include
#include
#include <math.h>
#pragma hdrstop
#include
#include
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
unsigned char **ImageMatrix;
int ImageHeight=0,ImageWidth=0;
int ImageOpen=0,g_bl=0,DCT_bl=0;
int TH,TW;//作為暫存原來之長寬用
int IDXH,IDXW;//作為8x8區塊之Index用
int i,j,u,v;//迴圈控制使用變數
typedef struct
{
unsigned char g_arr[8][8];
float dct_arr[8][8];
}
Block_64;
Block_64 **YBlock; void DCT(float result[8][8], unsigned char source[8][8])
{
float C[8],Cos[8][8];
float temp;
int i,j,u,v; for(i=0;i<8;i )
{
for(j=0;j<8;j )
{
Cos[i][j]=cos((2*i 1)*j*(3.14)/16);
}
}
C[0]=0.35355339;
for(i=1;i<8;i )
C[i]=0.5; for(u=0;u<8;u )
for(v=0;v<8;v )
{
temp=0.0;
for(i=0;i<8;i )
for(j=0;j<8;j )
temp =Cos[i][u]*Cos[j]*( >;
>=>>>>>>>>>>>>>>>>>>> >.>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >. >.>Caption="DCT值:"> 請問大大 他最下面的 DCT(YBlock[u]. >.>>>>
|
k99
一般會員
發表:8 回覆:16 積分:4 註冊:2005-07-27
發送簡訊給我
|
|