'전체 글'에 해당되는 글 120건

  1. 2010.01.31 Oh! 소녀시대
  2. 2010.01.30 최근 사진들..
  3. 2009.10.17 BeautifullSoup을 사용한 html 파서
  4. 2009.09.15 8 point 알고리즘
  5. 2009.08.29 Histograms of Oriented Gradients for Human Detection
  6. 2009.08.18 FLEX 관련
  7. 2009.05.31 tar & gz & bz2 사용법
  8. 2009.05.29 mysql index

2010. 1. 31. 12:51 Aphorism/Diary

Oh! 소녀시대


(동영상 퍼오기 테스트)
노래 별로지만 윤아가 좋아라.. ㅋㅋㅋ
블로거를 하지 않은지 넘 오래되어서 게시판이든지 이것저것 변경된 것을 이제야 알게 됨.
게시판에서 이것저것 html 편집을 하던 시절이 어제같은데 벌써 많은 변화가...

시대가 변했어도 지켜져야 할 것은 지켜야 하지만 시대 흐름에 따라 변해가야 하는 것은 변해야 한다.
동영상 검색을 해보면 우리나라 방송 관련 업체들이 얼마나 닫쳐 있는지 볼 수 있다.
물론 이건 내가 관여하기 어려운 돈의 문제가 걸려 있는 것이지만 발전을 저해하는 요소 중의 하나이다.
동영상의 좋은 컨테츠 제공의 수익 모델을 새롭게 찾아 나가야한다.
그리고 제발 아래와 같은 좋은 교육 목적의 동영상들은 오픈 하였음 좋겠다.
특히 국민 세금으로 운용되고 제작되는 프로그램일 수록 국민의 교육에 힘써야 하는 것 아닌가?

아래는 Ted에서 퍼온 영상...

'Aphorism > Diary' 카테고리의 다른 글

체함  (0) 2010.04.05
아이폰에서 글쓰기 테스트  (0) 2010.02.04
최근 사진들..  (0) 2010.01.30
자신을 믿는 다는 것  (0) 2009.05.09
제주대 벚꽃 나들이  (0) 2009.05.05
Posted by 한효정

2010. 1. 30. 15:19 Aphorism/Diary

최근 사진들..


아이폰 어플 Stitching 테스트

Auto Sstitching - 촬영된 사진 자동 합성


Video Panorama - 비디오 촬영 후 자동 합성


GMC 테라스에서 찍은 풍경 -AutoStitching으로 합성-
Zoom이 있을 경우 Homography 오류 (Fundamental matrix 값 쓰지 않음. 속도는 빠름.)
나도 이거나 만들어 돈이 벌어볼까? ^^


광주 출장 갔을 때 집 앞에 세워 둔 내 차 같은 팀인 성원님이 찍어 준 사진.


년초에 서울 가서 친구들과 강화도 가려다 중간에 일산으로 빠져서 고기 먹음.


광주 출장가서 숙소에서 찍은 사진.

'Aphorism > Diary' 카테고리의 다른 글

아이폰에서 글쓰기 테스트  (0) 2010.02.04
Oh! 소녀시대  (0) 2010.01.31
자신을 믿는 다는 것  (0) 2009.05.09
제주대 벚꽃 나들이  (0) 2009.05.05
Peter, Bjorn & John - Young Folks  (0) 2009.05.02
Posted by 한효정

import glob
import os
import os.path
import sys
import urllib
from BeautifulSoup import BeautifulSoup
import pickle
import sgmllib
from pprint import pprint
import re
import MySQLdb

 def InsertMovieData():
        db = MySQLdb.connect(host="121.254.251.82", user="color", passwd="", db="DuplicatedDB", charset='utf8')
        cursor = db.cursor()

        #file_source = open('photo_unique_keys.htm','r')
        #fsoup = BeautifulSoup(file_source)
        for i in range( 2000, 62000, 1000 ):
                httpurl = 'http://192.168.33.192:3001/photo_unique_keys?index=' + str(i)
                html_source = urllib.urlopen(httpurl).read()
                soup = BeautifulSoup(html_source)

                for tag in soup.findAll('img', width="300"):
                        ntag = str(tag).replace('<img width="300" src="', '').replace('" />', '')
                        #query = "Update MovieData Set ImagePath='" + str(ntag) + "'"
                        query = "Insert Into MovieData(ImagePath) Values('" + str(ntag) + "')"
                        #print query
                        cursor.execute(query)
                        print ntag

        #file_source.closed

        db.close()

 def InsertNewsData(httpurl,group):
        db = MySQLdb.connect(host="121.254.251.82", user="color", passwd="", db="DuplicatedDB", charset='utf8')
        cursor = db.cursor()

        html_source = urllib.urlopen(httpurl).read()
        soup = BeautifulSoup(html_source)

        for tag in soup.findAll('img', width="200"):
                ntag = str(tag).replace('<img src="', '').replace('" width="200" />', '')
                #print ntag
                query = "Insert Into NewsData(ImagePath, newsgroup) Values('" + str(ntag) + "', " + str(group) + ")"
                #print query
                cursor.execute(query)

        db.close()


if __name__ == '__main__':
        #InsertMovieData()
        InsertNewsData(sys.argv[1], sys.argv[2])

'Programming > Python' 카테고리의 다른 글

Network programming with the Twisted framework, Part 1  (0) 2010.03.05
Posted by 한효정

3 x 3 matrix인 Fundamenta matrix F는 8개의 corresponding point가 주어질 경우, unique하게 결정될 수 있다.
<!-- MATH ${\tt m}=[x \, y \, 1]^\top,{\tt m'}=[x' y' 1]^\top$ -->
<!-- MATH ${\bf f}=[F_{11} F_{12} F_{13} F_{21} F_{22} F_{23} F_{31} F_{32} F_{33} ]^\top$ -->
라고 하자.
<!-- MATH \begin{equation} {\bf A} {\bf f}= 0 \end{equation} -->
위 식을 이용하여, 두 점과 f는 아래와 같이 나타낼 수 있다.
<!-- MATH \begin{equation} \left[ \begin{array}{ccccccccc} x x' & y x' & x' & x y' & y y' & y' & x & y & 1 \end{array} \right] {\bf f} = 0 \end{equation} -->
위 식을 사용하여 아래의 식을 생성한다.(마지막 항인 1은 생략이 가능하다.)
사용자 삽입 이미지
이 때, A는 8개의 corresponding point  pair를 이용하여 만든 matrix이다.
위 식에 의해, f는 A를 Singular Value Decomposition(SVD)를 통해서 계산될 수 있다.
A matrix는 SVD에 의해서 USVT로 decompose되고, f는 V matrix의 last column이 된다.

출처 : http://www.cs.unc.edu/~marc/tutorial/node54.html

아래는 위의 내용을 OpenCV로 작성해본 코드이다.
F33은 1이므로, 위 식의 A matrix에서 마지막 column은 제거하였다.

CvMat* A = cvCreateMat(8, 8, CV_32FC1);
CvMat* S = cvCreateMat(8, 1, CV_32FC1);
CvMat* U = cvCreateMat(8, 8, CV_32FC1);
CvMat* V = cvCreateMat(8, 8, CV_32FC1);

// assign A matrix
float* pA = A->data.fl;

// point assign code here
// pA[i * 8 + j] = x;

cvSVD(A, S, U, V);

// f is a vector containing the elements of fundamenta matrix F
// float* pV = V->data.fl;
// pV[i * 8 + 7] ...


cvReleaseMat(&U);
cvReleaseMat(&S);
cvReleaseMat(&V);
cvReleaseMat(&A);

'Programming > Computer Vision' 카테고리의 다른 글

AutoAlbum  (0) 2009.05.02
Computer Vision at MSR Cambridge  (0) 2009.05.02
Posted by 한효정

Navneet Dalal and Bill Triggs

RGB colour space with no gamma correction; [-1; 0; 1]

gamma correction
비디오 카메라, 컴퓨터 그래픽 등에서 비선형 전달 함수(nonlinear transfer function)를 사용하여 빛의 강도(intensity) 신호를 비선형적으로 변형하는 것을 말한다.
인간의 시각은 베버의 법칙(Weber's law)에 따라 밝기에 대해 비선형적으로 반응한다. (청각과 같은 다른 감각들도 자극에 대해 비선형적으로 반응한다.) 이 때문에 예를 들어 채널 당 8 bit와 같이 한정된 정보표현량(bit depth)안에서 선형적으로 빛의 밝기를 기록하면 사람의 눈으로 보기에는 양이 변할때 부드럽게 느껴지지 않고 단절되어 보이는 현상(posterization)이 발생한다. 따라서, 주어진 정보표현량의 한계 안에서 최적의 화질을 보여주기 위해선 비선형적으로 부호화해야 할 필요가 있다. (예. Rec. 709 transfer function과 같은 비선형 함수 사용)
디지털 카메라의 경우 내부에 저장되어 있는 데이터를 JPEG, TIFF 형식으로 저장하는 과정에서 감마 보정이 이루어진다. 디지털 카메라에서 지원하는 대부분의 RAW 그래픽 파일 포맷은 감마 보정이 적용되지 않은 데이터이다. 하지만, 니콘의 압축형 NEF (compressed NEF)의 경우 bit depth를 9.4 bit으로 줄이는 양자화(quantization)과정에서 감마 곡선과 유사한 비선형 곡선(전달 함수)을 사용한다.

gradient filter with no smoothing;

gradient filter [-1 1] [-1 0 1] 영상 데이타의 미분은 x축은 이렇게... 연속적인 공간과 이산적인 공간은 다른 세계인가? 영상 데이타의 경우 이산 공간에 씌여지는 것이므로 x->0으로 간다는 것이 있을 수 없는 것 .. 한 픽셀이 크기가 굉장히 작으므로 그것이 거의 비슷하게 동작한다고 생각해도 괜찮지 않을까? smoothing을 하지 않는 다는 것은 그만큼 에지가 있는 것의 소실을 줄인다는 의미.... 하지만 어떤 shape 형태가 아니고서야 gradient 데이타가 의미가 있을까 하는 의문도...

linear gradient voting into 9 orientation bins in 0~180;

linear 한 gradient 값이 어떤 것인가? .... 그냥 일반적인 gradient겠지....
9 방향 값이면 20도씩 나눴다는 것인데 9개로 나누었을때 문제는 20, 40, 60, 80 100, 120, 140, 160, 180(0) 근처에 값들이 많을 경우 보기에는 똑같은 이미지라도 하더라도 다른 histogram을 그리게 될 확률이 높다. 따라서 대체로 자기 옆의 bin들을 이용해서 자신의 bin과 평균을 내어서 보정을 해주게 된다. 옆의 bin을 몇 개까지 하느냐는 것은 얼마나 데이타 bin을 잘게 나눴냐에 따라서 다른 문제이겠지만....

16x16 pixel blocks of four 8x8 pixel cells;

이건 뭐? block 단위로 뭐 조작하는게 있겠지..

Gaussian spatial window with 시그마 8 pixel

Gaussian 필터 돌리나보지.. 시그마 8로 근데 pixel이란 말은 왜 붙은거?

1. Input Image
2. Normalize gamma & colour

false positives per window(FPPW)

3. Compute gradients
4. Weighted vote into spatial & orientation cells
5. Contast normallize over overlapping spatial blocks
6. Collect HOG's over detection window
7. Linear SVM



'Paper Reading > CVPR' 카테고리의 다른 글

SPEC Hashing: Similarity Preserving algorithm for Entropy-based Coding,  (0) 2010.06.19
Faster-than-SIFT Object Detection  (0) 2010.06.18
cvpr2010 papers top #10  (0) 2010.05.30
INRIA  (0) 2010.05.16
Finding Paths through the World's Photos  (0) 2010.05.15
Posted by 한효정

2009. 8. 18. 11:30 Programming

FLEX 관련


사진 객체 편집 툴로 무엇이 좋을까 고민하다 flex로 하기로 .

FlashDevelop을 이용한 플래시 개발 환경
http://chumbal.tistory.com/20

Flex2/AS3 개발환경 구축하기
http://mygony.com/archives/1098

'Programming' 카테고리의 다른 글

mysql index  (0) 2009.05.29
Posted by 한효정

압축
$ tar cvfz XXX.tar.gz XXX

풀기
$ tar xvfz XXX.tar.gz
$ tar xfj XXX.tar.bz2

--== tar 사용하기

[root@h200 backup]# tar cvfz back.tar *
-- tar [옵션] [tar로 생성될 파일명] [압축할 파일명] 이렇게 사용한다.

[root@h200 backup]# tar cvf back1.tar group passwd
-- 파일을 선택하여 묶을 경우 한칸띄우고 파일명을 나열한다.

[root@h200 backup]# tar rvf back1.tar group1
-- 이미 묶여진 tar파일에 추가로 묶을경우 r을 사용하면 된다.

[root@h200 backup]# tar tvf back1.tar
-rw-r--r-- root/root 674 2005-05-27 19:40:38 group
-rw-r--r-- root/root 1622 2005-05-27 19:40:06 passwd
-rw-r--r-- root/root 674 2005-05-27 19:40:58 group1
-- tar로 묶은 파일의 내용을 보고자 할경우 t를 사용하면 된다.

[root@h200 backup]# tar f back1.tar --delete group1
-- tar로 묶은 파일에서 하나를 삭제할 경우 f를 사용 [tar명] --delete [삭제할 파일명]
[root@h200 backup]# tar tvf back1.tar -- 다시 확인시 파일이 빠져 있다.
-rw-r--r-- root/root 674 2005-05-27 19:40:38 group
-rw-r--r-- root/root 1622 2005-05-27 19:40:06 passwd

[root@h200 backup]# tar xvf back.tar
-- tar파일을 풀때는 x를 사용한다.


--== gzip 사용하기

[root@h200 backup]# gzip [gz로 생성될 파일명] -- gz으로 압축
[root@h200 backup]# gunzip [gz 파일명].gz -- gz 압축풀기


--== bzip2 사용하기

[root@h200 backup]# bzip2 -v [bz2로 생성될 파일명] -- bz2으로 압축 '-v'옵션은 압축결과를 보여준다.
[root@h200 backup]# bunzip2 [bz2 파일명].bz2 -- bz2 압축풀기
[root@h200 backup]# tar xfj [bz2 파일명].bz2 -- tar와 bz2를 한번에 같이 풀기

--== tar와 gz 한번에 풀기
[root@h200 backup]# tar cvfz test1.tar.gz * ; tar xvfz test1.tar.gz -C /opt/aaa
-- 현재폴더안의 파일 모두를 tar로 묶고 gz로 압축하여 그 파일을 /opt/aaa폴더안에 tar와 gz를 푼다. 여기서 -C옵션은 지정한 폴더로 풀어라는 명령이다.


--== 텍스트기반 인터넷을 사용하기 위한 패키지 설치
[root@h200 rpms]# rpm -Uvh lynx-2.8.5-11.i386.rpm --nodeps
-- 마운트후 lynx-2.8.5-11.i386.rpm 패키지를 찾아서 위처럼 설치한다.

'Programming > Install&Tip' 카테고리의 다른 글

우분투에 opencv 2.2 설치하기  (0) 2011.10.08
sqlyog 무료버전  (0) 2011.09.05
[펌] 티스토리에 소스 코드 올리기 - Google SyntaxHighlihter  (0) 2010.06.09
linux install tip  (0) 2010.06.07
Posted by 한효정

2009. 5. 29. 10:28 Programming

mysql index


1. 만들기
CREATE INDEX <인덱스명> ON <테이블명> ( 칼럼명1, 칼럼명2, ... );

create unique index index_name  using btree  on table_name ( name(10)  ) ;
create index index_name  on  table_name ( id(10), name(30) );

2. 테이블 생성시 만들기
create table index_sample (
product_code char(10) not null,
product_name char(20) not null,
product_detail char(100) not null,
index (product_code)   <---- product_code에만 인덱스 걸기
);

3. 테이블 생성시 2개 만들기
create table index_sample (
product_code char(10) not null,
product_name char(20) not null,
product_detail char(100) not null,
index (product_code, product_name)  <---- product_code, product_name 두개에 인덱스 걸기
);                                                             and 조건으로 검색시에만 인덱스 활용

4. 인덱스 보기
show index from index_sample;

5. 인덱스 제거
drop index index_name on table_name

'Programming' 카테고리의 다른 글

FLEX 관련  (0) 2009.08.18
Posted by 한효정

블로그 이미지
착하게 살자.
한효정

카테고리

공지사항

Yesterday
Today
Total

달력

 « |  » 2024.4
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

최근에 올라온 글

최근에 달린 댓글

글 보관함