본문 바로가기

728x90

파이썬(PYTHON)

(25)
확산 - 파이썬으로 점들의 모임이 임의 움직임 확산 모델링 해봄. # 화면 크기 w = GetSystemMetrics(0) h = GetSystemMetrics(1) # 정사각형 w = h # 검정색 화면 배경 img = np.zeros((h, w, 3), np.uint8) X = []; Y = [] # 확산할 점(사각)들의 총 수량 LL = 400 # 위치 선정 - 동일한 위치에 또는 임의의 위치에 for i in range(LL): #x = random.randint(0, w) #y = random.randint(0, h) x = int(w/2) y = int(h/2) X.append(x) Y.append(y) X = np.array(X) Y = np.array(Y) #print(X, X[0], X[1]) # 사각형 점의 가로(높이), 세로(폭) 픽셀 k = 5 #..
새로운 머신러닝 이론 (가설) 머신러닝을 한다는 것은 주어진 문제에 대한 패턴을 특정화하여 이를 통해 판정하는 것이다. 그래서 다양한 수학적 이론이나 CNN과 같은 방식 등을 사용하고 있다. 그러나 이런 복잡한 과정을 통해 나온 결과물을 가지고 머신 러닝을 한다는 것은 주어진 tool를 사용는 수준이나 과정도 알지 못하고 더 더욱 대상에 대해 패턴 생성은 위한 적절한 필터(?)를 찾는 것이 그렇게 쉽지 않다. 이런 이유와 머신 러닝의 핵심인 패턴을 만들면 머신러닝을 완성할 수 있다는 결과에서 접근하는 방법으로 이 이론을 만들어 볼려고 한다. 그 방법은 상당히 단순하다. 학습할 데이터가 있고 그 학습할 데이터에서 해를 찾아가는 방법으로 random한 수치의 변화를 준다는 것이다. 즉, 2개 이상의 점에 대해 임의 기준점이 특정한 수식,..
컨베이어 움직임 DETECT # conveyor 벨트 이미지 변경 import cv2 import numpy as np import matplotlib.pyplot as plt import glob import os from PIL import Image, ImageDraw, ImageFont import pygame def detect_lines(img, rho_a, theta_a): dst = img.copy() gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) canny = cv2.Canny(gray, 50, 150, apertureSize=3, L2gradient=True) lines = cv2.HoughLines(canny, 1, np.pi / 180, 150, srn=100, stn=200,..
논문 초안 - 작성 중 제목 : 2차원 특정 면적 내에 선택된 원형(입자)을 공백이 최소가 되도록 채울 수 있는 방법 구현을 위한 프로그램(파이썬)과 그 결과에 대한 고찰 초록 : 1. 서론 1.1 목적 : . 재료는 단일 물질 또는 단일 크기의 입자로 이루진 경우는 없으며 특히 산업계에서 사용되는 재료는 합성 물질이나 혼합물 또는 결합된 형태의 재료들을 통해 개발, 제조, 생산 등이 이루어진다. 따라서 원하는 재료는 만들 경우, 성능, 기능 그리고 구조, 내구성 등의 요구되는 결과를 얻고자 그 구성요소에 대한 배합과 그 비율이 핵심 구성이며 기술의 핵심이 된다. . 배합 비율은 성능이나 내구성에만 영향을 미치는 것이 아니라 제조업체에 대해서는 재료비를 차지하는 중요한 팩트가 된다. 같은 성능이라면 더 적은 재료비로 제조하는 ..
4가지 크기의 입자로 빈 공간을 최대한 채우는 비율 화면 720 x 720 공간 안에 총 5가지의 반지름을 가진 원의 알깽이는 채울때 빈 공간을 최소로 하는 그 비율을 찾기 위해 본 글과 연구(?)를 실시해 봅니다. 이와 같은 내용이 가지는 의미를 단적으로 설명하다면 모든 재료는 여러가는 재료를 활용한 복합 또는 혼합 재료들로 만들집니다. 이때 성능이나 구조를 좋게하기 위해서는 빈 공간 없이 채우는 것이 중요합니다. 예를 들면, 재료를 구성하여 빈 공간 없이 채우고 싶은데 선택 재료의 종류와 가격이 다를 경우, 그 비율은 아주 중요한 사항이 된다. (방열 시트, 건축 구조물 등 거의 모든 재료에 대해) 따라서 선택된 재료들을 각각 얼마의 비율로 배합 또는 혼합해야만 최대 성능이나 구조적 안정성을 올릴 수 있습니다. 여기에 대해 파이썬을 이용하여 그 비율과..
중복없이 원그리기 (특정 공간에 특정 크기 입자가 차지하는 수량 및 면적) #-*- coding:utf-8 -*- # 특정 공간에 빈 공간없이 최대 격자 채우기 import cv2 import numpy as np import random import matplotlib.pyplot as plt w = 720 h = 720 white_color = 255 black_color = 0 radi = 20 img = np.zeros((h, w), dtype = np.uint8) cou = 0 pp = [] while 1: x = random.randint((-1)*int(radi/2), h+int(radi/2)) y = random.randint((-1)*int(radi/2), w+int(radi/2)) img1 = img.copy() a1 = sum(sum((img1 > 127))..
뱅크 추적 #-*- coding:utf-8 -*- import cv2 import matplotlib.pyplot as plt import matplotlib.image as image from PIL import Image, ImageDraw, ImageFont import time import numpy as np from numpy.core.numeric import True_ import pandas as pd import winsound as ws from win32api import GetSystemMetrics import os import winsound import pygame from keras.models import load_model from PIL import Image, ImageOps ..
컨베이어 원료 인식 # https://dsbook.tistory.com/189?category=802614 # 원근 변화 # conveyor 벨트 이미지 변경 import cv2 import numpy as np import matplotlib.pyplot as plt import glob import os from PIL import Image, ImageDraw, ImageFont cou_e = 0 cou_ee = [] cou_n = 0 cou_nn = [] k1 = 25 k2 = 25 while True: font = cv2.FONT_HERSHEY_DUPLEX ss = [] cap = cv2.VideoCapture('PVC-conveyor-1.mp4') while cap.isOpened(): ret, img = cap..

728x90