मुझे यह निर्धारित करने की आवश्यकता है कि एक पीएनजी छवि में कोई पारदर्शिता है या नहीं - यह प्राप्त करने के लिए सबसे कुशल कोड क्या होगा?किसी छवि में पारदर्शिता का पता लगाने
उत्तर
पीएनजी को पिक्सेलबफर में कनवर्ट करें और रंग वितरण के हिस्टोग्राम की गणना करने के लिए विमेज का उपयोग करें। फिर अल्फा चैनल हिस्टोग्राम की जांच करें। पिक्सल के माध्यम से एक-एक करके जाने से अधिक तेज़ है।
CVPixelBufferRef pxbuffer = NULL;
vImagePixelCount histogramA[256];
vImagePixelCount histogramR[256];
vImagePixelCount histogramG[256];
vImagePixelCount histogramB[256];
vImagePixelCount *histogram[4];
histogram[0] = histogramA;
histogram[1] = histogramR;
histogram[2] = histogramG;
histogram[3] = histogramB;
vImage_Buffer vbuff;
vbuff.height = CVPixelBufferGetHeight(pxbuffer);
vbuff.width = CVPixelBufferGetWidth(pxbuffer);
vbuff.rowBytes = CVPixelBufferGetBytesPerRow(pxbuffer);
vbuff.data = pxbuffer;
vImage_Error err=vImageHistogramCalculation_ARGB8888 (&vbuff,histogram, 0);
if (err != kvImageNoError) NSLog(@"%ld", err);
BOOL transparent;
for(int i=1;i<256;i++){
if(histogram[0][i]>0) transparent=YES;
}
vimage मानता है कि रंग बफर में ARGB आदेश दिया जाता है। यदि आपके पास कुछ और है, उदा। बीजीआरए, आप बस हिस्टोग्राम [3] [i] की जांच करें।
यहां तक कि तेजी से शायद पहली vImageConvert_ARGB8888toPlanar8 का उपयोग कर चार प्लानर बफ़र्स में बफर विभाजित करने के लिए और फिर बस vImageHistogramCalculation_Planar8 का उपयोग कर अल्फा बफर पर हिस्टोग्राम गणना करते हैं।
यदि आप आईओएस 7 पर हैं और बाद में आप एक सीजीआईमेज के रूप में पीएनजी खोल सकते हैं और इसे सीधे वीमेज बफर में परिवर्तित करने के लिए vImageBuffer_initWithCGImage का उपयोग कर सकते हैं (डब्ल्यूडब्ल्यूडीसी 2014 में सत्र 703 देखें)।
अंत में, हिस्टोग्राम की गणना करने के लिए कोर छवि का उपयोग करने का एक विकल्प होगा।
- 1. किसी छवि में आकार का पता लगाने के लिए कैसे?
- 2. एल्गोरिदम छवि में किसी सर्कल का पता लगाने के लिए
- 3. छवि किनारे का पता लगाने
- 4. किनारे का पता लगाने/छवि पहचान
- 5. किसी एप्लिकेशन के लॉन्च का पता लगाने
- 6. छवि में हॉटस्पॉट का पता लगाने के लिए
- 7. छवि में आयत का पता लगाने और एंड्रॉयड
- 8. रंग का पता लगाने opencv
- 9. आकृति का पता लगाने - ओपनसीवी
- 10. जावा जांचें कि क्या किसी छवि में पारदर्शिता
- 11. क्षितिज का पता लगाने एल्गोरिदम
- 12. का पता लगाने
- 13. किसी छवि में मंडली का पता लगाने के संभावित तेज़ तरीके क्या हैं?
- 14. छवि फ़ाइल में किसी बिंदु का पता लगाने के लिए सबसे अच्छा एल्गोरिदम क्या है?
- 15. एक छवि में किसी विशेष सुविधा की उपस्थिति का पता लगाने के लिए एक अच्छी विधि
- 16. एंड्रॉइड छवि पारदर्शिता
- 17. रेखा का पता लगाने | जावा
- 18. openCV का पता लगाने रोशनी
- 19. आवाज का पता लगाने
- 20. छवि से रोबोट दिशा का पता लगाने के लिए कैसे?
- 21. ओपनसीवी त्वचा का पता लगाने
- 22. का पता लगाने के लिए कि क्या छवि जावास्क्रिप्ट
- 23. छवि कक्षा में FromStream पता लगाने में असमर्थ
- 24. jQuery का पता लगाने सीएसएस पृष्ठभूमि-छवि खत्म डाउनलोड
- 25. उपयोगकर्ता गतिविधि का पता लगाने
- 26. जावास्क्रिप्ट में टूटी हुई छवियों का पता लगाने का तरीका?
- 27. Doze राज्य का पता लगाने
- 28. माउस सूचक का पता लगाने
- 29. गति का पता लगाने वीएलसीजे
- 30. Node.js में CTRL + C का पता लगाने
यह एक दयालु बात है कि एसओ उन व्यक्तियों द्वारा ओवरराउन हो रहा है जिनके पास वोटों के अलावा योगदान और वैध प्रश्नों के करीबी अनुरोधों के अलावा योगदान करने के लिए कुछ भी नहीं है। आपके महान उत्तर के लिए @Sten धन्यवाद। – RunLoop