2018년 5월 13일 일요일

[music] 응답하라1998


*소녀
*혜화동
네게줄수있는건오직사랑뿐
보랏빛향기
함께
*매일그대와
*청춘
*세월이가면
*이젠잊기로해요
기억날그날이와도

[music] 오석준

우리들이함께있는밤
https://youtu.be/6IaTCxThOlU

헤어지고난후
https://youtu.be/3zHkC38qkGw

기억속의그대를찾아
https://youtu.be/GDzaunIWBRo

 돌아오는계절에는
https://youtu.be/UqFbEs85EuE

2018년 5월 9일 수요일

[python] 문법08

#
# 1)
# 리스트
#

a = [1, 2, 3]
print(a)
print(a[0], a[1], a[2])
a[0]=3
print(a)

----------------
#
# 2)
# range 함수: 리스트 생성
#

a = range(0,5) #0,1,2,3,4
for i in range(4):
    print(a[i])


#
#2-1 참고
#

for i in range(3):
    print(i,end=" ")
print()

for i in range(1,3):
    print(i,end=" ")
print()

for i in range(1,5,2):
    print(i,end=" ")
print()

for i in (5, 2, 4):
    print(i,end=" ")
print()

for i in (5, "hello", 4):
    print(i,end=" ")
print()

----------------
#
# 3)
# 행렬 (3행X2열)
#

c=[ [1,2], [3,4], [5,6] ]

----------------
#
# 4)
# 리스트 항목 반복문 이용 출력
#
a=[1,2,3]
print(a)
print(a[0], a[1], a[2])

for i in range(3):
    print(a[i], end=" ")
print()

#
# 리스트 항목의 갯수 알아내기
#
print(len(a))

#
# 반복문 이용하여 출력
#
for i in range(len(a)):
    print(a[i], end=" ")
print()

----------------
#
# 5)
# ( ) 와 [ ]의 차이점
#

a=(1,2,3)
b=[1,2,3]

# 다음과 같이 값을 넣을 수 없다. 수정할 수 없다.
# a[0]=100

# 값을 넣을 수 있다. 수정할 수 있다. (할당가능)
a = [1,2,3]
a[0]=100
print(a)
print()

----------------
#
# 6)
# 리스트에서 해당 값을 가진 위치(0부터 카운팅) 찾아내기
#

a = [1,2,3]

key=2
idx = a.index(key)
print(idx, a[idx])
print()

----------------
#
# 7)
# 리스트 "객체"에서 사용할 수 있는 함수들
#

print(a)
value = a.pop()
print(value, a)

value = a.pop()
print(value, a)
print()

a.append(5)
a.append(3)
a.append(2)
print(a)

a.insert(0, 1)
print(a)
 
a.sort()
print(a)
b = sorted(a) #새로운 b 생성
print(b)

a.clear()
print(a)

----------------
#
# 8)
# 별명과 복사의 차이
#

a=[1, 2]
b=a
print(a)
print(b)
print(id(a))
print(id(b))
b[0] = 10
print(a)
print(b)

a=[1, 2]
b=a.copy()
print(a)
print(b)
print(id(a))
print(id(b))
b[0] = 10
print(a)
print(b)

----------------
#
# 9)
# 딕셔너리
#

book = {
"홍길동" : "010-1234-5678",
"이순신" : "010-4235-3847",
"강감찬" : "010-9876-1234" }

print(book)
print(book["이순신"])

book["이순신"] = "010-999-9999"
print(book["이순신"])

del(book["이순신"])
print(book)

book.clear()
print(book)

print(book.keys())
print(book.values())

if "이신순" in book.keys():
    print("이순신이 있어요")

for key in book.keys():
   print(key)

#
# 9-2)
# 딕셔너리를 이용한 전화번호부 관리 프로그램 작성: 입력, 수정, 삭제, 검색
#

#
# 메뉴처리 코드 예시
#
def a():
    print("A")

def b():
    print("B")

while(True):
   print()
   print("----------")
   print("[1] a")
   print("[2] b")
   print("[3] c")
   print("[0] quit")
   print("----------")
   print("select menu: ", end='')
   n = int(input())
 
   if n==1:
       a()
   elif n==2:
       b()
   elif n==0:
       break
   else:
       print("invalid number")
     
print("program terminated") 


----------------
#
# 10)
# 기타
#

#
# 리스트의 내용을 다른 리스트에 복사하기
#
a=['1','2','3','4'] # 리스트
b = a.copy() # 복사 copy 함수 사용 가능

#
#
#
a=('1','2','3','4') # 튜플이라고 별도로 지칭; 값을 바꿀 수 없다.
b = a.copy() # 값을 복사할 수도 없다.

# 문자 리스트와 문자열: 비슷하지만 다르다. (다른 점은 C언어에서 설명된다)
a=('1','2','3','4')
a="1234"

#
# 이런 경우는 값을 하나씩 할당해야 한다.
#

# None
# 정해지지 않은 숫자를 의미한다
b = [None] * len(a)
print(b)

for i in range(len(a)):
    b[i] = a[i]

print(b)

#
# 파이선은 다음과 같은 방법으로 더욱 편리하게 할당 가능
#

b=[a[i] for i in range(len(a))]
print(b)

#
# 다차원행렬
#
a = [[1,2,3],[3,4,5]]    #2차원 행(row)렬(column)
print(a)
print(a[0])
print(a[0][0])

#
# 더욱 유용한 다차원 리스트; 다차원 배열
#
# pip install numpy

import numpy as np
a=[1,2,3]
b = np.array(a)
print(b)

a = [[1,2],[3,4],[5,6]]
b = np.array(a)

b = np.array([[1,2],[3,4],[5,6]])

print(b.shape)
rows = b.shape[0]
cols = b.shape[1]
print(rows, cols)
--------------------------------------------------------------------------------
last modified: 2018/5/14

2018년 4월 26일 목요일

[기타] 인문학

제목: 인문학 활용하기
부재: 자기 소개서 쓰는 법
비교, 상대, 총체
https://www.youtube.com/watch?v=nB7xzpEfbTg
https://www.youtube.com/watch?v=oNTYjI6f4Go


[딥러닝] 신경망기초

신경망 기초 동영상 강의

http://www.kocw.net/home/search/kemView.do?kemId=1265587

목차:
1. 딥러닝 개요
2. 인공신경망 개요
3. 퍼셉트론 구현
4. 다층퍼셉트론
5. 오류역전파알고리즘 구현 및 유도
6. 선형회귀분석
7. 크로스엔트로피 손실함수
8. 소프트맥스 회귀분석
9. 심층신경망 개요
10. 합성곱신경망
11. 신경망 학습 및 평가

딥러닝의 핵심원리을 알고자 한다면, 1, 2, 3장을 보세요.




2018년 4월 23일 월요일

[OpenCV] 기본사용

○ 생성

Mat image(height, width, CV_8UC3, 0);
Mat img = Mat::zeros(height, width,CV_32FC);
Mat img = Mat::zeros(height, width,CV_64FC);
○ 화소접근

Mat image;
image.at(j, i) = 255;
image.at(j, i)[channel] = 255;

cv::Mat_ img = image;
img(j, i) = 255; 

uchar* data = image.prt( j );
data[i] = 255;


○ Saturation Arithmetics

I(x, y) = min(max(round(r), 0), 255)
I.at(y, x) = saturate_case(r)

dst(I) = saturate_cast(src1(I) * alpha + src2(I) * beta + gamma)
void addWeighted( InputArray src1, double alpha, InputArray src2, double beta, double gamma, OutputArray dst )

dst(I) = saturate_cast(|src(I) * alpha + beta|)
void convertScaleAbs(InputArray src, OutputArray dst, double alpha=1, double beta=0)

m(I) = saturate_cast(alpha * (*this)m(I) + beta)
void Mat::convertTo(OutputArray m, int rtype, double alpha=1, double beta=0 )

○ 기타

putText(img, "text", Point(x,y), FONT_HERSHEY_SIMPLEX, 1., Scalar(B, G, R), 1);
putText(img, "text", Point(x,y), FONT_HERSHEY_DUPLEX, 1., Scalar(B, G, R), 1);

Rect rt;
Mat sub = img(rt).clone();

[MFC] 정적라이브러리 생성

[정적라이브러리]
1. 정적 함수 라이브러리 생성
2. 정적 클래스 라이브러리 생성
3. 정적 라이브러리 활용 콘솔 프로그램 작성
https://msdn.microsoft.com/ko-kr/library/ms235627.aspx

[동적라이브러리]
https://msdn.microsoft.com/ko-kr/library/ms235636.aspx

[비주얼베이직에서 DLL 함수 호출]
https://msdn.microsoft.com/ko-kr/library/dt232c9t.aspx

[비주얼C++의 DLL: DLL 전반]
https://msdn.microsoft.com/ko-KR/library/1ez7dh12.aspx