Pallete Gclass Code
Pallete Gclass Code
Pallete Gclass Code
Classroom
ITEC 15 (Image Processing)
BSIT 2B (2nd Semester 2023-2024/T 8-9 TH 8-12am)
Home
Calendar
Enrolled
To-do
I
ITEC 15 (Image Processing)
BSIT 2B (2nd Semester 2023-2024/T 8-9 TH 8-12am)
A
ART APPRECIATION
BSIT 2B
B
BSIT 2B (Purposive Communication)
1:00- 2:30 PM TTh
B
BSIT 2B-Information Management
I
IPT-BSIT-2B-1st-2023-2024
BSIT-2B
B
BSIT 2B-GEED29
Archived classes
Settings
Laboratory Exercise No. 5: Color Detector/Extractor using a Lookup Table (Pallete)
Laboratory Exercise No. 5: Color Detector/Extractor using a Lookup Table (Pallete)
Geraldin Dela Cruz
•
Apr 1
100 points
This is an example of a 'look up table' concept. Using a separate file to
identify/interepret a pixel data into a 'readable' color format. The code uses the
pandas library to refer to a separate file (csv format). For this exercise, run the
code, study and analyze. Iamge file and the 'lookup' color file is included.
import cv2
import numpy as np
import pandas as pd
#Reading csv file with pandas and giving names to each column
index=["color","color_name","hex","R","G","B"]
csv = pd.read_csv('colors.csv', names=index, header=None)
#function to calculate minimum distance from all colors and get the most matching
color
def getColorName(R,G,B):
minimum = 10000
for i in range(len(csv)):
d = abs(R- int(csv.loc[i,"R"])) + abs(G- int(csv.loc[i,"G"]))+ abs(B-
int(csv.loc[i,"B"]))
if(d<=minimum):
minimum = d
cname = csv.loc[i,"color_name"]
return cname
cv2.namedWindow('image')
cv2.setMouseCallback('image',draw_function)
cv2.imshow("image",img)
#cv2.putText(img,text,start,font(0-7),fontScale,color,thickness,lineType )
cv2.putText(img, text,(50,50),2,0.8,(255,255,255),2,cv2.LINE_AA)
cv2.destroyAllWindows()
Requirement:
Improve/enhance the code so that when the mouse is clicked on a specific pixel in
the image, it displays the binary equivalent of the RGB number. You may include
other data to be displayed for additional points. Turn-in the improved working code
and the screenshot of your output.
colorpic.py
Text
colors.csv
Comma Separated Values
Class comments
Your work
Assigned
Private comments
# This is a sample Python script.
def print_hi(name):
# Use a breakpoint in the code line below to debug your script.
print(f'Hi, {name}') # Press Ctrl+F8 to toggle the breakpoint.
# Press the green button in the gutter to run the script.
if __name__ == '__main__':
print_hi('PyCharm')
#Reading csv file with pandas and giving names to each column
index=["color","color_name","hex","R","G","B"]
csv = pd.read_csv('colors.csv', names=index, header=None)
#function to calculate minimum distance from all colors and get the most matching
color
def getColorName(R,G,B):
minimum = 10000
for i in range(len(csv)):
d = abs(R- int(csv.loc[i,"R"])) + abs(G- int(csv.loc[i,"G"]))+ abs(B-
int(csv.loc[i,"B"]))
if(d<=minimum):
minimum = d
cname = csv.loc[i,"color_name"]
return (cname)
cv2.namedWindow('image')
#cv2.setMouseCallback('image',draw_function)
#while(1):
cv2.imshow("image",img)
# if (clicked):
cv2.rectangle(img,(20,20), (750,60), (b,g,r), -1) #cv2.rectangle(image,
startpoint, endpoint, color, thickness)-1 fills entire rectangle
#Creating text string to display( Color name and RGB values )
text = getColorName(r,g,b) + ' R='+ str(r) + ' G='+ str(g) + ' B='+ str(b)
#cv2.putText(img,text,start,font(0-7),fontScale,color,thickness,lineType )
cv2.putText(img, text,(50,50),2,0.8,(255,255,255),2,cv2.LINE_AA)
#clicked=False
cv2.destroyAllWindows()
colorpic.py
Displaying colors.csv.