> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/workflows/hi/blocks/blocks/classical-computer-vision/contrast-enhancement.md).

# कॉन्ट्रास्ट वृद्धि

हिस्टोग्राम सामान्यीकरण (GIMP के Auto Levels का एल्गोरिद्म) का उपयोग करके छवि का कंट्रास्ट बढ़ाएँ। यह ब्लॉक छवि के हिस्टोग्राम को उपलब्ध पूर्ण सीमा \[0-255] का उपयोग करने के लिए फैलाता है, जिससे कम कंट्रास्ट वाली विशेषताओं की दृश्यता बेहतर होती है।

## यह ब्लॉक कैसे काम करता है

1. **चैनल विश्लेषण**: ग्रेस्केल छवियों के लिए, min/max सीधे खोजें। रंगीन छवियों के लिए, प्रत्येक चैनल का स्वतंत्र रूप से विश्लेषण करें।
2. **हिस्टोग्राम सामान्यीकरण**: प्रत्येक चैनल के लिए, रैखिक स्केलिंग का उपयोग करके मानों को \[min, max] से \[0, 255] तक फैलाएँ: `output = (input - min) / (max - min) * 255`
3. **क्लिपिंग**: \[0, 255] से बाहर के मानों को मान्य सीमा तक क्लिप किया जाता है

## सामान्य उपयोग के मामले

* **कम-कंट्रास्ट चिकित्सा इमेजिंग**: विभिन्न अधिग्रहण पैरामीटरों में ऊतक की दृश्यता को सामान्य करें
* **औद्योगिक निरीक्षण**: फीकी सामग्री पर सूक्ष्म सतह दोषों को उभारें
* **निगरानी फुटेज**: रात के समय या बैकलाइट वाले दृश्य की दृश्यता बेहतर करें
* **दस्तावेज़ स्कैनिंग**: कम रोशनी में खींची गई दस्तावेज़ तस्वीरों को उज्ज्वल करें
* **सूक्ष्मदर्शी**: कमजोर फ्लोरेसेंस या फेज-कॉन्ट्रास्ट छवियों से संकेत को बढ़ाएँ

## इनपुट पैरामीटर

**छवि** : बढ़ाने के लिए इनपुट छवि (रंगीन या ग्रेस्केल)

* एकल-चैनल, 3-चैनल (BGR), या 4-चैनल (BGRA) हो सकता है
* रंगीन छवियों के लिए प्रत्येक चैनल को स्वतंत्र रूप से सामान्यीकृत किया जाता है

**clip\_limit** : हिस्टोग्राम सीमा का वह प्रतिशत जिसे चरम छोरों पर छोड़ दिया जाए (डिफ़ॉल्ट: 0)

* सीमा: 0-50
* 0: कोई क्लिपिंग नहीं, min से max तक का पूरा हिस्टोग्राम उपयोग किया जाता है
* 1-3: अंधेरे और चमकीले आउट्लायर छोड़ें (शोर के प्रति मजबूत)
* 5-10: बहुत आक्रामक आउट्लायर हटाना
* 20-50: अत्यधिक आउट्लायर हटाना, सूक्ष्म विवरण खो सकते हैं

**contrast\_multiplier** : सामान्यीकरण के बाद कंट्रास्ट स्केलिंग के लिए गुणक (डिफ़ॉल्ट: 1.0)

* सीमा: 0.1-5.0
* 1.0: कोई अतिरिक्त स्केलिंग नहीं, केवल सामान्यीकरण
* 0.5-0.9: अधिक स्मूद छवियों के लिए कंट्रास्ट कम करें
* 1.1-2.0: अधिक प्रभावशाली सुधार के लिए कंट्रास्ट बढ़ाएँ

**normalize\_brightness** : मिडटोन समानता का उपयोग करके चमक सामान्यीकरण लागू करें (डिफ़ॉल्ट: False)

* False: केवल हिस्टोग्राम सामान्यीकरण और कंट्रास्ट स्केलिंग
* True: हिस्टोग्राम सामान्यीकरण के बाद, संतुलित चमक के लिए मिडटोन समायोजन लागू करें

## आउटपुट्स

**छवि** : सामान्यीकृत कंट्रास्ट वाली उन्नत छवि, इनपुट के समान आकार और प्रकार

## नोट्स

* **आउट्लायर के प्रति संवेदनशील**: अत्यधिक min/max मान (एकल अंधेरे/चमकीले पिक्सेल) हिस्टोग्राम के अधिकांश भाग को संकीर्ण सीमा में फैला देते हैं। अनावश्यक अंधेरे/चमकीले कणों को हटाने के लिए पूर्व-प्रसंस्करण के रूप में मॉर्फोलॉजिकल ओपनिंग (Morphological Transformation v2) का उपयोग करें।
* **रंग परिवर्तन**: रंगीन छवियों के लिए, प्रत्येक चैनल स्वतंत्र रूप से फैलता है, जिससे यदि चैनलों की गतिशील सीमाएँ बहुत अलग हों तो ह्यू बदल सकता है
* **दक्षता**: बहुत तेज़ - min/max के लिए रैखिक स्कैन, फिर प्रति पिक्सेल रैखिक रूपांतरण
* **चमक सामान्यीकरण**: सक्षम होने पर, अधिक संतुलित अनुभूत चमक के लिए मिडटोन स्ट्रेच (gamma ≈ 1.3) लागू करता है

### प्रकार पहचानकर्ता

स्टेप में निम्नलिखित पहचानकर्ता का उपयोग करें `"type"` फ़ील्ड: `roboflow_core/contrast_enhancement@v1` अपने वर्कफ़्लो में ब्लॉक को एक स्टेप के रूप में जोड़ने के लिए।

### गुण

| **नाम**                | **प्रकार** | **विवरण**                                                                                                                                                                                                            | संदर्भ |
| ---------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ |
| `name`                 | `str`      | इस स्टेप के लिए एक विशिष्ट पहचानकर्ता दर्ज करें..                                                                                                                                                                    | ❌      |
| `clip_limit`           | `int`      | अंधेरे और चमकीले चरम पर छोड़े जाने वाले हिस्टोग्राम सीमा के प्रतिशत। 0: min से max तक की पूरी सीमा का उपयोग करें। 1-3: आउट्लायर छोड़ें (मजबूत)। 5-10: बहुत आक्रामक आउट्लायर हटाना..                                  | ❌      |
| `contrast_multiplier`  | `float`    | सामान्यीकरण के बाद कंट्रास्ट स्केलिंग के लिए गुणक। 1.0: कोई अतिरिक्त स्केलिंग नहीं (केवल हिस्टोग्राम सामान्यीकरण)। <1.0: कंट्रास्ट कम करें। >1.0: अधिक प्रभावशाली सुधार के लिए कंट्रास्ट बढ़ाएँ..                    | ❌      |
| `normalize_brightness` | `bool`     | मिडटोन समानता का उपयोग करके चमक सामान्यीकरण लागू करें। जब False हो, तो केवल हिस्टोग्राम सामान्यीकरण और कंट्रास्ट स्केलिंग लागू होते हैं। जब True हो, तो अधिक संतुलित अनुभूत चमक के लिए मिडटोन समायोजन लागू होता है.. | ❌      |

यह **संदर्भ** स्तंभ यह इंगित करता है कि संपत्ति को वर्कफ़्लो रनटाइम में उपलब्ध गतिशील मानों के साथ पैरामीटराइज़ किया जा सकता है `वर्कफ़्लो` रनटाइम। देखें *बाइंडिंग्स* अधिक जानकारी के लिए।

### इनपुट और आउटपुट बाइंडिंग्स

उपलब्ध कनेक्शन उसके बाइंडिंग प्रकारों पर निर्भर करते हैं। देखें कि कौन-से बाइंडिंग प्रकार `कॉन्ट्रास्ट संवर्धन` संस्करण `v1` है।

<details>

<summary>इनपुट और आउटपुट बाइंडिंग्स</summary>

* इनपुट
  * `छवि` ([*`छवि`*](/workflows/hi/developer-guide/developer-guide/kinds/image.md)): बढ़ाने के लिए छवि (रंगीन या ग्रेस्केल)। प्रत्येक चैनल स्वतंत्र रूप से सामान्यीकृत किया जाता है..
* आउटपुट
  * `छवि` ([`छवि`](/workflows/hi/developer-guide/developer-guide/kinds/image.md)): कार्यप्रवाहों में इमेज।

</details>

<details>

<summary>उदाहरण JSON परिभाषा</summary>

```json
{
	    "name": "<your_step_name_here>",
	    "type": "roboflow_core/contrast_enhancement@v1",
	    "image": "$inputs.image",
	    "clip_limit": "<block_does_not_provide_example>",
	    "contrast_multiplier": "<block_does_not_provide_example>",
	    "normalize_brightness": "<block_does_not_provide_example>"
	}
```

</details>
