전체 글 474

밝기를 트랙바로 조절해보기

import numpy as np import cv2 as cv import matplotlib.pyplot as plt # 이미지 불러오고 정규화 Path = 'D:/dip/' Name = 'dark1.png' FullName = Path+Name img = cv.imread(FullName,1) img=img/255.0 cv.namedWindow('Brighter image') # scale 트랙바 움직일때 호출되는 콜백 함수 def Change_scale(pos) : global img2 bar = cv.getTrackbarPos("scale", "Brighter image") #-> scale값을 bar에 저장할 수 있다 scale = 1+pos*0.1 # 트랙바 값에 따른 밝기의 정도 img2 ..

화질 개선 기법(감마, 시그모이드, 히스토그램, 샤프닝, 메디언)

1~5절 - 대조비 강화 혹은 약화처리 6~7절 - 선명성 향상 8~9절 - 잡음 제거 # 감마변환 output = input의 감마승 (이때 input은 0~1사이로 정규화) 감마r 1 : 어둡게 처리, 어두운 부분은 어둡게 # LUT(look up table) 함수 연산의 단순화 방법 출력값 테이블 생성하고 처리하는 방법 # 시그모이드 변환 명암의 대조비 강화 m:중간값, w: 강화강도, E: 기울기정도 (대비와 비례) 분모가 0이 될 가능성이 있기에 1이라는 엡실론을 설정. m은 최소 0.5로 설정 w는 0위로 설정 # 히스토그램과 히스토그램 스트레칭 **중요** # 히스토그램이란 화소 값들 개별 누적 개수 히스토그램 방법 1) ** 중요 많이 쓰임 ** np.historgram()함수 이용. nd..

인덱스

인덱스의 목적은! 원하는 데이터에 신속하게 접근하기 위함. 주키와 후보키는 개체무결성제약조건(변경사항 관리) 외래키는 참조무결성제약조건(변경사항 관리) 즉, 값들에 대해 영향받음(데이터변경에 영향받음) 검색키는 다른키들과는 다르게 검색성능이 좋아야한다 -> 인덱스 생성 검색키는 값들에 영향을 받지 않고, 데이터 검색 성능에만 영향받음 하나의 테이블에 주키(primary key)는 하나여야함. 하지만 , 검색키들은 하나의 테이블에 여러개 존재할 수 있음. # 검색키 Search Key - 파일에서 원하는 레코드를 찾기 위한 칼럼들의 집합 - 하나의 테이블에 하나 이상의 검색키들이 존재할 수 있음 = 여러개의 인덱스들이 존재가능 # 인덱스 파일의 구성 엔트리 검색키 ("김갑동") 포인터 (해당 위치의 레코드..

엣지검출 pyplot.imshow vs cv.imshow

# pyplot.imshow vs cv.imshow 1) pyplot.imshow() 1채널, 부동소수 영상은 부호가 있는 수를 표현할 때 매우 편리하다. 데이터의 범위나 자료형에 영향 받지 않고 최소, 최대를 구해 자체 정규화(흑백일때)하여 출력한다. cmap 파라미터의 설정에 따라 여러 color map을 활용한 영상 출력을 시도할 수 있다. cv.imshow() 처럼 흑백 모노 그레이로 표현하려면 cmap='gray'로 설정하여야 한다. 그렇지 않으면 default pseudo color map이 선택되어 칼라로 1채널 영상이 출력된다. 2) cv.imshow() 함수의 출력 범위 부동소수 데이터: 0~1의 값만 출력한다. 음수는 0으로 간주하고 1을 넘는 값은 1로 간주한다. 정수형 데이터: 0~..

파일 내 레코드 구조, 데이터 사전 저장장치

테이블은 칼럼(열)과 로우(행)으로 구성되어 있다 -> 추상적인 개념. 파일로 가게되면 행이 레코드가 된다. 레코드는 여러개의 필드로 구성되어 있는데, 열이 레코드에서는 필드가 된다. # 파일 구성 방법 테이블은 레코드들의 집합 - 힙 파일 구조 : 공간이 있으면 배정 - 순차파일 구조 : 주어진 키 (검색키)값에 따라 연속적인 순서로 배정 검색하는것은 조건이 적용되는 것. 이때, 조건값이 검색키. 정렬은 검색/시행착오 과정을 줄여줌 - 해싱파일 구조 : 속성들을 해시함수에 적용하고 파일 내 위치를 정함. 시행착오 x ex 레코드 구성) "홍길동" | 컴공 | 2019 | 3.8 일 때, 예시의 레코드를 찾으려면 해시함수H("홍길동") 한다. H("홍길동")=57일때, 파일 내 57번째에는 홍길동의 레코..

[Java] 백준 2675 문자열 반복

https://www.acmicpc.net/problem/2675 2675번: 문자열 반복 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다 www.acmicpc.net import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); for(int i=0;i

파일 구조

데이터베이스는 많은 파일들로 구성됨. # 파일 - 디스크에 영구적으로 저장 - 레코드들의 논리적인 구조 -> 디스크의 블록에 대응 # 블록 ** 파일들이 읽고 쓰는 것은 블록단위로 수행됨. - 데이터 전송의 단위 (cpu와 디스크 사이에 파일을 주고받는 단위) **중요** 하나의 파일은 여러개의 블록으로 구성됨 블록의 크기는 고정됨 파일의 입출력 단위는 블록 하나의 블록은 여러개의 코드로 구성됨 코드가 블록을 초과할 수는 없음 한 개의 코드가 두 개 이상의 블록에 걸쳐서 존재할 수는 없음 # 고정길이 레코드 - 각 레코드는 53바이트로 고정 -> 레코드의 크기가 53이 아니면 레코드 낭비 - 삭제된 레코드를 나중의 삽입을 대비해 가만히 냅둔다. 새로운 데이터를 끼워만준다 (크기는 같으므로) - 고정된 길..

RAID

# MTTF = 평균 가동 시간 ## RAID (Redundant Array of Independent Disks) 많은 수의 디스크를 병렬화 데이터 중복화 가능 -> 저장의 신뢰성 향상 # 미러링 - RAID중복 - 모든 디스크마다 복사디스크를 마련함 - 논리적인 디스크 1개 = 물리적인 디스크 2개 (삭제포함 쓰기는 두 디스크 모두에서 이뤄짐) - 만약, 두 디스크의 MTTF가 겹치는 경우는 거의 발생하지 않는다 -> 신뢰성이 굉장히 높음 - 비용이 많이 소요됨 # 분산(Striping) - 여러 개의 디스크에 데이터를 분산 -> 병렬접근으로 전송속도 향상 - 디스크 배열을 하나의 논리적인 큰 디스크로 간주 1) 비트단위 분산 디스크 수가 8의 배수이므로 병렬처리르 통해 8배의 전송속도를 얻음. 2)..

이미지 가로, 세로 평균필터링 적용

# 1) : 실습 3을 2x2 서브 화면으로 나누고, 4번째 화면에는 양방향(가로/세로)으로 평균필터링한 영상을 출력하시오. Path = '../data/' # 현재 상위 폴더의 상위 폴더 아래에 있는 Images 폴더. Name = 'lenna.tif' FullName = Path + Name monarch = cv.imread(FullName) monarch = monarch[..., ::-1] fig = plt.figure(num = 'mission filter') #,figsize=(8,8) plt.subplots_adjust(left=0.02, right=0.9, bottom=0.03, top=0.9) plt.subplots(constrained_layout=True) # 최적의 사이즈로 변환,..