do you recommend any good source to read?

i was thinking about creating sum table for the whole image

getting variable size area average for each pixel would have just 4 lookups 
(and all parallel)

regarding quality i was thinking doing it (box blur) 3x to approximate gaussian

sum table should be possible to generate in parallel (for one dimension at a 
time)

M

On 15 Aug 2010, at 19:10, vade wrote:

> Read up on separability and convolution, and multipass tricks. This can get 
> much much much faster and maintain quality.
> 
> On Aug 15, 2010, at 8:31 AM, Miroslaw Rusin wrote:
> 
>> thanks for the info. so it's something more like this then...
>> 
>> <compound-3.qtz>
>> 
>> 
>> it's slow - O(x*y*r²), where:
>> x - image with
>> y - image height
>> r - radius
>> 
>> can be O(x*y) with sum table
>> 
>> M
>> 
>> On 13 Aug 2010, at 22:29, Patrick Sheffield wrote:
>> 
>>> I was about to write the same email (thank you Vade).  Thank you Miroslaw, 
>>> but yes - what you're doing is more of a diffusion - blending between a 
>>> blurred and clean image...
>>> 
>>> I think I get it now. The degree of blur is determined by how much a pixel 
>>> is averaged with its surrounding pixels. If you control that with a value 
>>> from a mask image, you will have a compound blur...
>>> 
>>> Patrick
>>> 
>>> 
>>> On Aug 13, 2010, at 1:12 PM, vade wrote:
>>> 
>>>> Blending between a blurred and un-blurred image does not produce a 
>>>> variable width blur. You would need n number of blurred images to do that, 
>>>> where n number of images.
>>>> 
>>>> What you do is blur a variable amount. :
>>>> 
>>>> Note the difference in the top blur (our compound blur)
>>>> 
>>>> and the mixing between a blurred and non blurred image
>>>> 
>>>> http://i.imgur.com/TjCZY.png
>>>> 
>>>> http://vade.info/CompoundBlur.mov
>>>> 
>>>> Im sorry but I cannot disclose our algorithm, but if you research how to 
>>>> do a fixed width convolution kernel blur (box or gaussian), separate it 
>>>> (for speed and cleanliness) it should be apparent how an additional 
>>>> sampler input can modulate a uniform float input :)
>>>> 
>>>> As for the note about mip mapping, that is certainly a fast approach, and 
>>>> mip-mapping is possible within QC if you use the Image Texturing 
>>>> Properties patch. Note howeveer that forces GL_TEXTURE_2D (as rect is 
>>>> default in core image/video and Quartz Composer), can mean some patches 
>>>> act very odd with an image input thats 2D (or flat out fail if its a 3rd 
>>>> party QC input and they dont check the [self.inputImage textureTarget] 
>>>> value when binding. Just saying, it act odd, but really should not :)
>>>> 
>>>> On Aug 13, 2010, at 2:08 PM, Miroslaw Rusin wrote:
>>>> 
>>>> 
>>>> 
>>>>> what's the algorithm for compound blur then?
>>>>> 
>>>>> attached demo with example pics from 
>>>>> http://livedocs.adobe.com/en_US/AfterEffects/8.0/help.html?content=WS3878526689cb91655866c1103a9d3c597-7baa.html
>>>>> 
>>>>> top-right corner picture is generated
>>>>> 
>>>>> all in "Compound Blur" macro if you want to copy-paste in your composition
>>>>> 
>>>>> also added blurred img cropping; you can change gaussian blur to 
>>>>> something else if you like as well
>>>>> 
>>>>> M
>>>>> 
>>>>> <compound-2.qtz>
>>>>> 
>>>>> On 13 Aug 2010, at 16:28, Stonewall Ballard wrote:
>>>>> 
>>>>>> A constant blur with a modulated blend produces a different effect than 
>>>>>> a true compound blur. I don't know about doing this in QC, but for other 
>>>>>> work, I use a mip-map or a summed area table. Can you get at a mip-map 
>>>>>> in QC?
>>>>>> 
>>>>>> - Stoney
>>>>>> 
>>>>>> On Aug 12, 2010, at 2:48 PM, vade wrote:
>>>>>> 
>>>>>>> Thats totally not rendering correct for me, nor is it the best way of 
>>>>>>> handling it. You can do it in a single custom core image filter. Im not 
>>>>>>> able to hand out code, but read up on separable convolution kernels, 
>>>>>>> and get it working for a constant amount for the entire image, and then 
>>>>>>> modulate that amount by the intensity (a dot product) of a second 
>>>>>>> sampler. Also you will need to pay attention to destination coordinates 
>>>>>>> in core image, ie, ROI and DOD since you are handling multiple input 
>>>>>>> images and samplerCoord may not be correct depending on your GPU, and 
>>>>>>> size of input image.
>>>>>>> 
>>>>>>> On Aug 12, 2010, at 2:11 PM, Miroslaw Rusin wrote:
>>>>>>> 
>>>>>>>> 
>>>>>>>> <compound.qtz>
>>>>>>>> 
>>>>>>>> <Screen shot 2010-08-12 at 20.09.49.png>
>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> There are often times where I want to blur an image based on a mask 
>>>>>>>>> and simply using the mask to blend a blurred and a clean version of 
>>>>>>>>> the image is not enough - I want to blur the image more or less, 
>>>>>>>>> based on the intensity of the mask. Performance always matters, but 
>>>>>>>>> quality is more important... HD in realtime is probably not doable, 
>>>>>>>>> I'm thinking... so processing and rendering will be acceptable levels 
>>>>>>>>> of performance...
>>>>>>>>> 
>>>>>>>>> Patrick
>>>>>>>>> 
>>>>>>>>> P.S. - I did mean Quartz Composer
>>>>>> 
>>>>>> -- 
>>>>>> Stonewall Ballard 
>>>>>> [email protected]           http://stoney.sb.org/
>>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> Do not post admin requests to the list. They will be ignored.
>>>>> Quartzcomposer-dev mailing list      ([email protected])
>>>>> Help/Unsubscribe/Update your Subscription:
>>>>> http://lists.apple.com/mailman/options/quartzcomposer-dev/doktorp%40mac.com
>>>>> 
>>>>> This email sent to [email protected]
>>>> 
>>>> _______________________________________________
>>>> Do not post admin requests to the list. They will be ignored.
>>>> Quartzcomposer-dev mailing list      ([email protected])
>>>> Help/Unsubscribe/Update your Subscription:
>>>> http://lists.apple.com/mailman/options/quartzcomposer-dev/psheffield%40earthlink.net
>>>> 
>>>> This email sent to [email protected]
>>> 
>> 
>> _______________________________________________
>> Do not post admin requests to the list. They will be ignored.
>> Quartzcomposer-dev mailing list      ([email protected])
>> Help/Unsubscribe/Update your Subscription:
>> http://lists.apple.com/mailman/options/quartzcomposer-dev/doktorp%40mac.com
>> 
>> This email sent to [email protected]
> 

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Quartzcomposer-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/quartzcomposer-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to