0 --s 50 prompts

very few results

6 months ago

### **1. GREENS (Left Half: 0–500px Width)** - **Flower Area (Triangle)**: - **Corners**: (100,700) → (400,700) → (250,900). - **Label**: "FLOWERS" centered at (250,800). - **Small Lake**: - **Circle**: Center at (400,300), radius 80px. - **Label**: "LAKE" at (400,200). - **Grass**: Solid green fill from (0,0) to (500,1000). --- ### **2. HOME (Center-Right Vertical Strip: 500–700px Width)** - **Villa (HOME)**: - **Rectangle**: (550,400) to (700,600). - **Label**: "HOME" at (625,500). - **Garage**: - **Rectangle**: (700,450) to (750,550). - **Label**: "GARAGE" at (725,500). - **Gray Car Path (LANE)**: - **Road**: (500,950) to (700,400), width 60px. - **Fountain (Blue Circle)**: Center at (600,675), radius 30px. - **Label**: "MAIN ENTRANCE" at (600,975), "LANE" at (600,750). - **Stepping Stone Paths**: - **To Pool**: Dotted line from (625,600) → (450,500). - **To Gazebo**: Dotted line from (675,600) → (800,300). --- ### **3. AGRICULTURE (Right Half: 700–1000px Width)** - **Agricultural Field**: - **Rectangle**: (700,0) to (1000,1000). - **Label**: "AGRICULTURAL FIELD" at (850,50). - **Animal Enclosures**: - **Rectangles**: 1. (720,100) to (820,250). 2. (720,260) to (820,400). - **Label**: "ANIMAL ENCLOSURES" at (770,50). - **Vegetable Garden**: - **Rectangle**: (700,450) to (1000,550). - **Label**: "VEGETABLE GARDEN" at (850,500). --- ### **4. Trees & Boundaries** - **Road Trees**: Line both sides of the gray path from (500,950) to (700,400), spaced 50px apart. - **Field Boundary Trees**: Vertical line from (700,400) to (700,600), separating HOME and AGRICULTURE. --- ### **5. Gazebo & Pool** - **Gazebo (Pentagon)**: - **Corners**: (800,250) → (850,200) → (900,250) → (875,300) → (825,300). - **Label**: "GAZEBO" at (850,350). - **Pool**: Unlabeled oval at (450,450) to (550,550). --- ### **Style Instructions** - **2D Flat Design**: No shadows, gradients, or perspective. - **Colors**: - Gray path: `#808080` - Green zones: `#90EE90` - Yellow agriculture: `#FFFF00` - Blue fountain/lake: `#4682B4` - Orange enclosures: `#FFA500`

12 days ago

# Keeps 589 bright, boosts jewelry shine, replaces background, and maps to Casinofi duotone. import cv2, numpy as np from google.colab import files from PIL import Image # Upload your image when prompted up = files.upload() fn = list(up.keys())[0] img_bgr = cv2.imdecode(np.frombuffer(up[fn], np.uint8), cv2.IMREAD_COLOR) # --- Palette (BGR) --- HEX = lambda h: (int(h[5:7],16), int(h[3:5],16), int(h[1:3],16)) SHADOW = np.array(HEX("#0F1011"), np.float32) MID = np.array(HEX("#8E7A55"), np.float32) HILITE = np.array(HEX("#E6D2A1"), np.float32) HILITE_PLUS = np.array(HEX("#EBDDB7"), np.float32) # extra-bright cream for 589 # --- Helper: gradient map (shadow -> mid -> highlight) --- def gradient_map(gray01): g = gray01[...,None] t1 = np.clip(g/0.5, 0, 1) t2 = np.clip((g-0.5)/0.5, 0, 1) low = SHADOW*(1-t1) + MID*t1 high = MID*(1-t2) + HILITE*t2 return np.where(g<=0.5, low, high) hsv = cv2.cvtColor(img_bgr, cv2.COLOR_BGR2HSV) # --- Masks --- # Background (yellow) range bg_mask = cv2.inRange(hsv, (15, 120, 120), (40, 255, 255)) # tune if needed # Shirt (blue) range – helpful for separate contrast if you want shirt_mask = cv2.inRange(hsv, (95, 80, 40), (130, 255, 255)) # Numbers “589” (white-ish areas on shirt) gray = cv2.cvtColor(img_bgr, cv2.COLOR_BGR2GRAY) num_mask = cv2.threshold(gray, 210, 255, cv2.THRESH_BINARY)[1] # bright white # Jewelry (gold/yellow highlights) jew_mask = cv2.inRange(hsv, (12, 60, 120), (30, 255, 255)) # gold tones # Clean masks a bit def clean(m, k=3): kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (k,k)) m = cv2.morphologyEx(m, cv2.MORPH_OPEN, kernel, iterations=1) m = cv2.morphologyEx(m, cv2.MORPH_CLOSE, kernel, iterations=1) return m bg_mask = clean(bg_mask, 5) shirt_mask= clean(shirt_mask, 5) num_mask = clean(num_mask, 3) jew_mask = clean(jew_mask, 3) # --- Step 1: Replace background with deep charcoal --- out = img_bgr.copy() out[bg_mask>0] = SHADOW # --- Step 2: Convert subject to Casinofi duotone --- # Work on non-background regions subj = out.copy() subj_mask = (bg_mask==0).astype(np.uint8)*255 subj_gray = cv2.cvtColor(subj, cv2.COLOR_BGR2GRAY).astype(np.float32)/255.0 mapped = gradient_map(subj_gray).astype(np.uint8) mapped = cv2.bitwise_and(mapped, mapped, mask=subj_mask) bg_area = cv2.bitwise_and(out, out, mask=bg_mask) out = cv2.add(mapped, bg_area) # --- Step 3: Boost numbers “589” to brighter cream and keep edges crisp --- num_rgb = np.zeros_like(out, dtype=np.uint8) num_rgb[:] = HILITE_PLUS num_layer = cv2.bitwise_and(num_rgb, num_rgb, mask=num_mask) out = cv2.bitwise_and(out, out, mask=cv2.bitwise_not(num_mask)) out = cv2.add(out, num_layer) # Optional: thin dark stroke around numbers edges = cv2.Canny(num_mask, 50, 150) stroke = cv2.dilate(edges, np.ones((2,2), np.uint8), iterations=1) out[stroke>0] = (out[stroke>0]*0 + SHADOW*0.9).astype(np.uint8) # --- Step 4: Jewelry shine (Screen-like brighten in cream) --- # Create a cream layer and blend additively where jewelry mask is j_layer = np.zeros_like(out, dtype=np.float32) j_layer[:] = HILITE j_mask_f = (jew_mask.astype(np.float32)/255.0)[...,None] out_f = out.astype(np.float32) out = np.clip(out_f + j_layer*0.35*j_mask_f, 0, 255).astype(np.uint8) # --- Step 5: Gentle contrast pop on subject only --- subj_mask3 = cv2.merge([subj_mask, subj_mask, subj_mask]) subj_pix = np.where(subj_mask3>0) sub = out.astype(np.float32) sub[subj_pix] = np.clip((sub[subj_pix]-20)*1.08 + 20, 0, 255) out = sub.astype(np.uint8) # Save cv2.imwrite("output_casinofi.png", out) files.download("output_casinofi.png") print("Done. Download output_casinofi.png")