import sys
path = 'hellofile.txt'
sys.stdout = open(path, 'w')
print('Hello, World')
import sys
sys.stdout = open('경로/파일명.txt', 'w')
image = cv2.imread("경로/opencv.png", cv2.IMREAD_GRAYSCALE)
if image is None:
raise Exception("error")
np.set_printoptions(threshold=np.inf, linewidth=np.inf)
image1 = np.zeros(image.shape[:2], image.dtype)
for i in range(image.shape[0]):
for j in range(image.shape[1]):
pixel = image[i,j]
print(pixel, end = " ")
sys.stdout.close()
import sys
sys.stdout = open('경로/파일명.txt', 'w')
f = cv2.imread("경로/opencv.png", cv2.IMREAD_GRAYSCALE)
if image is None:
raise Exception("error")
np.set_printoptions(threshold=np.inf, linewidth=np.inf)
image1 = np.zeros(image.shape[:2], image.dtype)
for i in range(image.shape[0]):
for j in range(image.shape[1]):
pixel = image[i,j]
if pixel == 76:
print(pixel, end = " ", file = f)
sys.stdout.close()
형태
with open(파일명, 파일모드문자열) as 파일객체:
수행할 명령문
예시를 보자.
output = "result"
with open("output.txt", "w", encoding="utf-8") as file:
file.write(output)
#write() 함수를 사용해 output 변수에 저장된 값을 파일에 씀
with open("pixel_76.txt", "w", encoding="utf-8") as file:## 결과를 저장할 텍스트 파일 오픈
for i in range(image.shape[0]):
for j in range(image.shape[1]):
pixel = image[i, j]
if pixel == 76:
file.write(f"Pixel value: {pixel}, at position: ({i}, {j})\n") #저장
np.set_printoptions(threshold=np.inf, linewidth=np.inf)
coordinates = []
image1 = np.zeros(image.shape[:2], image.dtype)
for i in range(image.shape[0]):
for j in range(image.shape[1]):
pixel = image[i, j]
if pixel == 76:
coordinates.append([i, j])
coordinates_array = np.array(coordinates)
np.savetxt("coordinates.txt", coordinates_array, fmt='%d', delimiter=",")
배열을 생략없이 전체 출력하기 위해
np.set_printoptions(threshold=np.inf, linewidth=np.inf)
를 사용했다.
픽셀이 76인 경우에만 빈 배열 coordinates에 추가했고,
저장명은 coordinates.txt
좌표는 정수형태,
구분자로 콤마 , 를 설정했다.
굿!