*만*
Bronze개인
팔로워0 팔로우
소개
등록된 소개글이 없습니다.
전문분야 등록된 전문분야가 없습니다.
판매자 정보
학교정보
입력된 정보가 없습니다.
직장정보
입력된 정보가 없습니다.
자격증
  • 입력된 정보가 없습니다.
판매지수
전체자료 4
검색어 입력폼
  • 자판기 프로그램, 밴딩머신 (자판기 내용물 수정 기능 포함)
    "자판기 프로그램, 밴딩머신 (자판기 내용물 수정 기능 포함)"에 대한 내용입니다.
    프로그램소스| 2013.04.30| 3,000원| 조회(75)
    미리보기
  • Imag Restoration( AMF, arithmetic Mean filter, Median Mean Filter)
    Course Assignment영상 처리Spring - 2013Image RestorationClass:영상 신호 처리Stu ID.:Name:Dept. of Electronic Engineering1. Operator ResultLena_OriginalLena+AWGN_30Lena +3x3 Arithmetic Mean Filter이미지캡처PSNR14.9 dB27.12dBMit_OriginalMit+SPN_10Mit +3x3 Median Mean Filter이미지캡처PSNR14.7 dB27.66 dB2. 고찰: Noise의 특성에 따라 사용하는 필터의 특성 또한 변화하여야 제대로 된 결과를 얻을 수 있음을 알 수 있었다. 비선형적인 Salt & Pepper Noise의 경우 Order statistic Filter를 사용하면 임펄스 형태의 잡음은 사라지고 Moving Average Filter를 사용하면 임펄스 값에 의해 전체 마스트 내의 값이 뭉게지는 현상이 있음을 할 수 있었다.또한 가우시안 형태의 잡음을 사용할 경우 잡음의 크기가 크지 않기 때문에 Order statistic Filter를 사용하면 원 영상의 값이 제거 될 수 있음으로 선형 필터를 사용하는 것이 바람직하다.3. 코드#include #include #include //#define WIDTH 512#define HEIGHT 512typedef unsigned char BYTE/************************************************************************* **************************************************************************///void FileRead(char* filename, BYTE **img_in, int height, int width);void FileWrite(char* filename, BYTE **img_out, int height, int width);//vo height, int width, int size);BYTE** MemAlloc_2D(int height, int width);void MemFree(BYTE** img_in, int height);float GetPSNR(BYTE** img_Ori, BYTE** img_Enhd, int height, int width);//void ArithmeticMeanFilter3X3(BYTE** img_in, BYTE** img_out, int height, int width);void MedianMeanFilter3X3(BYTE** img_in, BYTE** img_out, int height, int width);int main(){int i,j;float PSNR;BYTE** img_in,**img_out,**img_padding, **img_ori;//img_in = MemAlloc_2D(HEIGHT,WIDTH);img_padding = MemAlloc_2D(HEIGHT+2,WIDTH+2);img_out = MemAlloc_2D(HEIGHT,WIDTH);img_ori = MemAlloc_2D(HEIGHT,WIDTH);FileRead("Lena_AWGN_30.raw",img_in,HEIGHT,WIDTH);FileRead("Lena(512x512).raw",img_ori,HEIGHT,WIDTH);//for(i = 0 ; i < HEIGHT ; i++)for(j = 0 ; j < WIDTH ; j++)img_padding[i+1][j+1] = img_in[i][j];Padding(img_padding,HEIGHT,WIDTH,3);ArithmeticMeanFilter3X3(img_padding,img_out,HEIGHT,WIDTH);FileWrite("[Output]Lena_AWGN_30.raw",img_out,HEIGHT,WIDTH);PSNR = GetPSNR(img_ori,img_out,HEIGHT,WIDTH);printf("Arithmetic Mean Filt("Mit_SnP_10.raw",img_in,HEIGHT,WIDTH);FileRead("Mit(512x512).raw",img_ori,HEIGHT,WIDTH);//for(i = 0 ; i < HEIGHT ; i++)for(j = 0 ; j < WIDTH ; j++)img_padding[i+1][j+1] = img_in[i][j];Padding(img_padding,HEIGHT,WIDTH,3);MedianMeanFilter3X3(img_padding,img_out,HEIGHT,WIDTH);FileWrite("[Output]Mit_SnP_10.raw",img_out,HEIGHT,WIDTH);PSNR = GetPSNR(img_ori,img_out,HEIGHT,WIDTH);printf("Median Mean Filter PSNR : %fn",PSNR);MemFree(img_in,HEIGHT);MemFree(img_out,HEIGHT);return 0;}//void FileWrite(char* Filename,BYTE** img_ori,int height, int width){int i;FILE *fp_out;fopen_s(&fp_out,Filename,"wb");if(fp_out ==NULL)printf(");for(i = 0 ; i < height ; i++){fwrite(img_ori[i],sizeof(BYTE),width,fp_out);}fclose(fp_out);}//void FileRead(char* Filename, BYTE** img_ori, int height, int width){int i;FILE *fp_in;fopen_s(&fp_in,Filename,"rb");if(fp_in ==NULL)printf(");for(i = 0 ; i < height ; i ++){fread(img_ori[i],sizeof(BYTE),width,fp_in);}fclose(fp_in);}// 2BYTE** MemAlloc_2D(int height, int width){*)malloc(sizeof(BYTE*) * height);for(i = 0 ; i < height ; i++){img[i] = (BYTE *)malloc(sizeof(BYTE) * width);}return img;}// 2void MemFree(BYTE** img_in, int height){int i;for(i = 0 ; i < height ; i++)free(img_in[i]);free(img_in);}// 3x3 Arithmetic Mean Filtervoid ArithmeticMeanFilter3X3(BYTE** img_in, BYTE** img_out, int height, int width){int i,j,m,n;double temp;double AriMean_Mask[3][3] ={{1,1,1},{1,1,1},{1,1,1},};//for(i = 0 ; i < height ; i++){for(j = 0 ; j < width ; j ++){temp = 0;for( m = 0 ; m < 3 ; m++){for(n = 0 ; n < 3 ; n++)temp += img_in[i+m][j+n]*AriMean_Mask[m][n];}temp /= 9;img_out[i][j] = (BYTE)floor(temp+0.5);}}}// 3x3 Median Mean Filtervoid MedianMeanFilter3X3(BYTE** img_in, BYTE** img_out, int height, int width){int i,j,m,n,h;int temp[9];int temp1;for(i = 0 ; i < height ; i++){for(j = 0 ; j < width ; j ++){//temp[]h = 0;for( m = 0 ; m < 3 ; m++){for(n = 0 ; n < 3 ; n++)temp[h++] = img_in[i+m][j+n];}//temp[]for(m = 0 ; m < 8 ; m++){for( n = m + 1 ; n < 9 ; n ++){if(tp[m];temp[m] = temp[n];temp[n] = temp1;}}}//temp[4](img_out[i][j] = temp[4];}}}//void Padding(BYTE** img_in, int height, int width, int size){int i,j;int m = size/2;//paddingfor(i = m ; i < HEIGHT + m; i++){for(j = 0 ; j < m ; j++){img_in[i][j] = img_in[i][m];img_in[i][WIDTH + m + j] = img_in[i][WIDTH + m - 1];}}for(j = m ; j < WIDTH + m ; j++){for(i = 0 ; i < m ; i++){img_in[i][j] = img_in[m][j];img_in[HEIGHT + m + i][j] = img_in[HEIGHT + m - 1][j];}}for(i = 0 ; i < m ; i++){for(j = 0 ; j < m; j++){img_in[i][j] = img_in[m][m];img_in[i][WIDTH + m + j] = img_in[m][WIDTH + m - 1];img_in[HEIGHT + m + i][j] = img_in[HEIGHT + m - 1][m];img_in[HEIGHT + m + i][WIDTH + m + j] = img_in[HEIGHT + m - 1][WIDTH + m - 1];}}}//PSNRfloat GetPSNR(BYTE** img_Ori, BYTE** img_Enhd, int height, int width){int i,j;float PSNR, Error = 0;for(i = 0 ; i < height ; i++){for(j = 0 ; j < width ; j++){Error += ((img_Ori[i][j] - img_Enhd[i][j])*(img_Ori[i][j] - img_Enhd[i][j])/(float)(height*width));}}PSNR = 10*log1R;}
    공학/기술| 2013.05.30| 7페이지| 3,000원| 조회(188)
    미리보기
  • Image segmention using Sobel, Laplacian Operator ( 소벨/라플라스 연산자를 를 이용한 이미지 분할)
    Course Assignment영상 처리Spring - 2013Image SegmentationClass:영상 신호 처리Stu ID.:Name:Dept. of Electronic Engineering University1. Operator Result원본이미지4-Neighbor Laplacian8-Neighbor Laplacian이미지캡처Horizontal GradientVertical GradientGradient이미지캡처Sobel GradientThreshold 50Threshold 100이미지캡처Threshold 200이미지캡처2. 코드#include #include #include #define WIDTH 512#define HEIGHT 512typedef unsigned char BYTE;/* *///////void FileRead(char* filename,BYTE** img,int height,int width);void FileWrite(char* filename,BYTE** img,int height, int width);unsigned char ** MemAlloc_2D(int height, int width);void MemFree_2D(BYTE** arr,int height);void padding(BYTE** img_in, int height, int width, int size);double CLIP(double temp, int high, int low);void Laplacian_4(BYTE** img_in, BYTE** img_out, int height, int width);void Laplacian_8(BYTE** img_in, BYTE** img_out, int height, int width);void Sobel_H(BYTE** img_in, BYTE** img_out, int height, int width);void Sobel_V(BYTE** img_in, BYTE** img_out, int height, int width);void Threshold(BYTE** img_in, int threshold, int height, int width);int main(){int i,j;double temp;BYTE **img_in,**img_out,**img_in_padding, **img_temp;//img_in = MemAlloc_2D(HEIGHT,WIDTH);img_in_padding = MemAlloc_2D(HEIGHT+2,WIDTH+2);img_temp = MemAlloc_2D(HEIGHT,WIDTH);img_out = MemAlloc_2D(HEIGHT,WIDTH);//FileRead("Mit(512x512).raw",img_in,HEIGHT,WIDTH);//for(i = 0 ; i < HEIGHT ; i++)for(j = 0 ; j < WIDTH ; j++)img_in_padding[i+1][j+1] = img_in[i][j];padding(img_in_padding,HEIGHT,WIDTH,3);// 4Neigbor LaplacianLaplacian_4(img_in_padding,img_out,HEIGHT,WIDTH);FileWrite("[Output]MIT_4N_Laplacian.raw",img_out,HEIGHT,WIDTH);// 8-Neibor LaplacianLaplacian_8(img_in_padding,img_out,HEIGHT,WIDTH);FileWrite("[Output]MIT_8N_Laplacian.raw",img_out,HEIGHT,WIDTH);// Horizontal GradiantSobel_H(img_in_padding,img_out,HEIGHT,WIDTH);FileWrite("[Output]MIT_Gradiant_H.raw",img_out,HEIGHT,WIDTH);// Vertical GradiantSobel_V(img_in_padding,img_temp,HEIGHT,WIDTH);FileWrite("[Output]MIT_Gradiant_V.raw",img_temp,HEIGHT,WIDTH);// Gradiant = Horizontal Gradiant + Vertical Gradiantfor(i = 0 ; i < HEIGHT ; i++)for(j = 0 ; j < WIDTH ; j++){temp = (img_out[i][j]+img_temp[i][j]);temp = CLIP(temp,255,0);img_out[i][j] = (BYTE)temp;}FileWrite("[Output]MIT_Gradiant.raw",img_out,HEIGHT,WIDTH);// Sobel Enhencementfor(i = 0 ; i < HEIGHT ; i++)for(j = 0 ; j < WIDTH ; j++){img_temp[i][j] = img_in[i][j];temp = img_temp[i][j] - img_out[i][j];temp = CLIP(temp,255,0);img_temp[i][j] = (BYTE)temp;}FileWrite("[Output]MIT_Sobel.raw",img_temp,HEIGHT,WIDTH);//Thresholding with 50for(i = 0 ; i < HEIGHT ; i++)for(j = 0 ; j < WIDTH ; j++)img_temp[i][j] = img_out[i][j];Threshold(img_out,50,HEIGHT,WIDTH);FileWrite("[Output]MIT_Threshold_50.raw",img_out,HEIGHT,WIDTH);//Thresholding with 100for(i = 0 ; i < HEIGHT ; i++)for(j = 0 ; j < WIDTH ; j++)img_out[i][j] = img_temp[i][j];Threshold(img_out,100,HEIGHT,WIDTH);FileWrite("[Output]MIT_Threshold_100.raw",img_out,HEIGHT,WIDTH);//Thresholding with 200for(i = 0 ; i < HEIGHT ; i++)for(j = 0 ; j < WIDTH ; j++)img_out[i][j] = img_temp[i][j];Threshold(img_out,200,HEIGHT,WIDTH);FileWrite("[Output]MIT_Threshold_200.raw",img_out,HEIGHT,WIDTH);//MemFree_2D(img_in,HEIGHT);MemFree_2D(img_in_padding,HEIGHT);MemFree_2D(img_temp,HEIGHT);MemFree_2D(img_out,HEIGHT);return 0;}//void FileWrite(char* Filename,BYTE** img_ori,int height, int width){int i;FILE *fp_out;fopen_s(&fp_out,Filename,"wb");if(fp_out ==NULL)printf(");for(i =0;i
    공학/기술| 2013.05.23| 10페이지| 3,000원| 조회(197)
    미리보기
  • 오디오의 신호를 DFT를 통하여 계 이름을 추출하고, Down Sampling하여 본다.
    전자공학과 음성 및 오디오 신호처리Design Project #1목표 :1. 오디오 신호의 기본 주파수 검출 과정 구현2. 오디오 신호의 down-sampling 동작 구현문제 :1.1. Goldwave를 이용하여 audio sample "input16k.raw"의 소리와 파형을 확인한다.* 신호 format : 16kHz sampling, 16-bit mono, signed integer1.2. "input16k.raw"의 총 8개의 note에 대하여, 각 note에 해당하는 신호의 스펙트럼을 구하고, 주파수를 분석하여 각 note의 이름을 찾는다.2.1. Goldwave를 이용하여 입력 신호 "input32k.raw"의 소리를 확인한다.* 신호 Format : 32kHz sampling, 16-bit mono, signed integer2.2. 4배 down-sampling을 LPF를 포함하는 경우와 LPF를 포함하지 않는 경우에 대하여 각각 구현하여 출력 신호를 비교한다.레포트 내용? C program Source Code with 주석? 각 문제의 결과와 comments전자공학과 음성 및 오디오 신호처리Design Project #1문제 :1.1. Goldwave를 이용하여 audio sample "input16k.raw"의 소리와 파형을 확인한다.* 신호 format : 16kHz sampling, 16-bit mono, signed integer1.2. "input16k.raw"의 총 8개의 note에 대하여, 각 note에 해당하는 신호의 스펙트럼을 구하고, 주파수를 분석하여 각 note의 이름을 찾는다.노트Hz계스펙트럼노트Hz계스펙트럼1번347파5번469라#2번418솔#6번346파3번348파7번308레#4번349파8번352파2.1. Goldwave를 이용하여 입력 신호 "input32k.raw"의 소리를 확인한다.* 신호 Format : 32kHz sampling, 16-bit mono, signed integer> 원음 그대로 들리는 것을 확인.2.2. 4배 down-sampling을 LPF를 포함하는 경우와 LPF를 포함하지 않는 경우에 대하여 각각 구현하여 출력 신호를 비교한다.○ 4배 down-sampling , LPF 포함하지 않은 경우Anti-aliasing LPF를 포함하지 않고 4배 down sampling하였을 경우에는 고주파 부분(4kHz)의 aliasing으로 인하여 약간의 ‘지지직’하는 잡음이 들리게 되었다. 음원의 반주 부분은 저주파 영역이 많아 상대적으로 aliasing이 발생하지 않아서 잡음이 느껴지지가 않았지만, 음성이 나오는 부분에서는 고주파 영역이 다수 포함되어 있어 aliasing이 발생하여 잡음이 많이 들렸다.○ 4배 down-sampling , LPF (~2KHz,dynamic) 포함해준 경우위 그림은 2Khz Anit-Aliasing LPF를 포함해준 경우, 오른쪽 스펙트럼을 보면 LPF를 포함해주지 않은 것에 비하여 주파수 영역이 제한되어 재생된다. 따라서 32k음원과는 들리는 분위기가 약간 답답하고, 막혀있는 느낌으로 들려온다. 하지만, 음성이 들리는 부분에서의 ‘지지직’하는 잡은은 거의 사라진 것을 볼 수 있는데 , 이것은 aliasing이 발생하는 부분을 미리 잘라내어 미연에 방지했기 때문이다.※ 코드 구현#include #include #define PI 3.141592// 함수 선언void Initializer(float *output, float * Re, float * Im);void N_DFT(float * input,float * output, float * Re, float * Im);void FileRead(int start_point, int end_point, float *temp);void FileWrite(char* filename, float *output);void Find_pitch(float *output);int number = 1;int main(void){//변수 정의float temp[16000], Re[16000], Im[16000], output[16000];//note1Initializer(temp,Re,Im);FileRead(3000,10000,temp);N_DFT(temp,output,Re,Im);Find_pitch(output);FileWrite("output_note_1.txt", output);//note2Initializer(temp,Re,Im);FileRead(10000,16000,temp);N_DFT(temp,output,Re,Im);Find_pitch(output);FileWrite("output_note_2.txt", output);//note3Initializer(temp,Re,Im);FileRead(16000,20000,temp);N_DFT(temp,output,Re,Im);Find_pitch(output);FileWrite("output_note_3.txt", output);//note4Initializer(temp,Re,Im);FileRead(22000,24000,temp);N_DFT(temp,output,Re,Im);Find_pitch(output);FileWrite("output_note_4.txt", output);//note5Initializer(temp,Re,Im);FileRead(24000,28000,temp);N_DFT(temp,output,Re,Im);Find_pitch(output);FileWrite("output_note_5.txt", output);//note6Initializer(temp,Re,Im);FileRead(28000,32000,temp);N_DFT(temp,output,Re,Im);Find_pitch(output);FileWrite("output_note_6.txt", output);//note7Initializer(temp,Re,Im);FileRead(32000,36500,temp);N_DFT(temp,output,Re,Im);Find_pitch(output);FileWrite("output_note_7.txt", output);//note8Initializer(temp,Re,Im);FileRead(36500,41000,temp);N_DFT(temp,output,Re,Im);Find_pitch(output);FileWrite("output_note_8.txt", output);return 0;}// N point DFTvoid N_DFT(float * input,float * output, float * Re, float * Im){int k,n;//정수축 Kfor(k=0;k
    공학/기술| 2013.04.03| 7페이지| 5,000원| 조회(441)
    미리보기
전체보기
해캠 AI 챗봇과 대화하기
챗봇으로 간편하게 상담해보세요.
2026년 05월 24일 일요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
10:53 오전
문서 초안을 생성해주는 EasyAI
안녕하세요 해피캠퍼스의 20년의 운영 노하우를 이용하여 당신만의 초안을 만들어주는 EasyAI 입니다.
저는 아래와 같이 작업을 도와드립니다.
- 주제만 입력하면 AI가 방대한 정보를 재가공하여, 최적의 목차와 내용을 자동으로 만들어 드립니다.
- 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
- 스토어에서 무료 이용권를 계정별로 1회 발급 받을 수 있습니다. 지금 바로 체험해 보세요!
이런 주제들을 입력해 보세요.
- 유아에게 적합한 문학작품의 기준과 특성
- 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
- 작별인사 독후감