Skip to content

Commit 57fcdfa

Browse files
authored
cartoonify
1 parent 939a20a commit 57fcdfa

File tree

2 files changed

+52
-0
lines changed

2 files changed

+52
-0
lines changed

Projects/cartoonify/README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# OpenCV Cartoonify
2+
3+
This script uses the OpenCV library to process images and outputs cartoon-like images and allows the user to process images without worrying about the directory of the image with a terminal based basic UI.
4+
5+
### The Significance of This Particular Cartoon Converter Script
6+
7+
This script finds your image file in your pc and automatically changes its the working directory before it starts processing the image. This operation saves the time and energy of the user.
8+
9+
#### Future Of This Project
10+
11+
Please keep in mind that this is the first version of the project and currenty only has 2 options for the cartoon styles. I will add much more depth to the cartoonify-ing process later on.

Projects/cartoonify/cartoonify.py

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
import cv2
2+
import os
3+
from pathlib import Path
4+
5+
image_name = input("Enter the name of the image file : ") ## User input for the name of the image file.
6+
image_directory = input("Enter the directory that may contain the image: ") ## User input for the path of the image file.
7+
8+
## This function looks for and finds the desired file. You can specify a parent directory for the fundtion to look for, however if you have no idea where a file is; this functio will find it for you, just slower. If you have no idea where a file is, just type "/".
9+
def find_the_image(file_name, directory_name):
10+
files_found = []
11+
for path, subdirs, files in os.walk(directory_name):
12+
for name in files:
13+
if(file_name == name):
14+
file_path = os.path.join(path,name)
15+
files_found.append(file_path)
16+
17+
print(files_found[0])
18+
return files_found[0] ## Return the path.
19+
20+
21+
image_path = Path(find_the_image(image_name, image_directory)) ## Inıtialize the path of the image file.
22+
new_working_directory = image_path.parent
23+
os.chdir(new_working_directory)
24+
25+
color_image = cv2.imread(find_the_image(image_name, image_directory))
26+
27+
cartoon_style_selection = input("This script currently has 2 sytles. Please type 1 or 2. ")
28+
29+
if (cartoon_style_selection == "1"):
30+
cartoon_image_style_1 = cv2.stylization(color_image, sigma_s=150, sigma_r=0.25) ## Cartoonify process.
31+
cv2.imshow('cartoon_1', cartoon_image_style_1)
32+
cv2.waitKey()
33+
cv2.destroyAllWindows()
34+
elif (cartoon_style_selection == "2"):
35+
cartoon_image_style_2 = cv2.stylization(color_image, sigma_s=60, sigma_r=0.5) ## Cartoonify process.
36+
cv2.imshow('cartoon_2', cartoon_image_style_2)
37+
cv2.waitKey()
38+
cv2.destroyAllWindows()
39+
40+
else:
41+
print("Invalid style selection.")

0 commit comments

Comments
 (0)